BZ: 23230
Video decode doesn't work on CLV
CLV ved use punit to upload firmware as MFLD D0, modify a macro IS_D0. Disable D0i3 for CLV.
Change-Id: Id817e9dd9d2ab5e27a285630b33a75b91b462bd7
Signed-off-by: Li Zeng <li.zeng@intel.com>
Reviewed-on: http://android.intel.com:8080/35014
Reviewed-by: Ding, Haitao <haitao.ding@intel.com>
Tested-by: Ding, Haitao <haitao.ding@intel.com>
Reviewed-by: buildbot <buildbot@intel.com>
Tested-by: buildbot <buildbot@intel.com>
#define IS_MSVDX(dev) (IS_MRST(dev) || IS_MDFLD(dev))
#define IS_TOPAZ(dev) ((IS_MRST(dev) && (((dev)->pci_device & 0xfffc) != PCI_ID_TOPAZ_DISABLED)) || IS_MDFLD(dev))
-#define IS_D0(dev) ((dev)->pdev->revision >= 0xc)
+#define IS_D0(dev) (((dev)->pdev->revision >= 0xc) || \
+ (((dev)->pci_device & 0xffff) == 0x08c7))
extern int drm_psb_ospm;
extern int drm_psb_cpurelax;
PVRSRV_DEV_POWER_STATE eNewPowerState,
PVRSRV_DEV_POWER_STATE eCurrentPowerState)
{
+ /* Workaround of mid_pmu error for CTP */
+ if (IS_CTP(gpDrmDevice))
+ return PVRSRV_OK;
#if 1
/* ask for a change not power on*/
if ((eNewPowerState != eCurrentPowerState) &&
goto loop;
}
+ if (IS_CTP(gpDrmDevice))
+ drm_msvdx_pmpolicy = PSB_PMPOLICY_NOPM;
+
/* we get a frame/slice done, try to save some power*/
if (IS_D0(dev)) {
if (drm_msvdx_pmpolicy == PSB_PMPOLICY_POWERDOWN)