#include <linux/phy/phy.h>
#include <linux/phy/phy-zynqmp.h>
#include <linux/platform_device.h>
-#include <linux/pm.h>
+#include <linux/pm_runtime.h>
#include "xilinx_drm_dp_sub.h"
#include "xilinx_drm_drv.h"
switch (dpms) {
case DRM_MODE_DPMS_ON:
+ pm_runtime_get_sync(dp->dev);
+
if (dp->aud_clk)
xilinx_drm_writel(iomem, XILINX_DP_TX_AUDIO_CONTROL, 1);
if (dp->aud_clk)
xilinx_drm_writel(iomem, XILINX_DP_TX_AUDIO_CONTROL, 0);
+ pm_runtime_put_sync(dp->dev);
+
return;
}
}
((version & XILINX_DP_TX_CORE_ID_REVISION_MASK) >>
XILINX_DP_TX_CORE_ID_REVISION_SHIFT));
+ pm_runtime_enable(dp->dev);
+
return 0;
error:
struct xilinx_drm_dp *dp = platform_get_drvdata(pdev);
unsigned int i;
+ pm_runtime_disable(dp->dev);
xilinx_drm_writel(dp->iomem, XILINX_DP_TX_ENABLE, 0);
drm_dp_aux_unregister(&dp->aux);