From: Li Zeng <[email protected]> Add support for updated msvdx firmware to FW1.00.10.1163_SS.fw
Signed-off-by: Li Zeng <[email protected]> Signed-off-by: Hitesh K. Patel <[email protected]> --- drivers/staging/mrst/imgv/psb_msvdx.h | 3 +++ drivers/staging/mrst/imgv/psb_msvdxinit.c | 6 +++++- 2 files changed, 8 insertions(+), 1 deletions(-) diff --git a/drivers/staging/mrst/imgv/psb_msvdx.h b/drivers/staging/mrst/imgv/psb_msvdx.h index a702b36..8522d51 100644 --- a/drivers/staging/mrst/imgv/psb_msvdx.h +++ b/drivers/staging/mrst/imgv/psb_msvdx.h @@ -276,6 +276,8 @@ MSVDX_CORE_CR_MSVDX_MAN_CLK_ENABLE_CR_MTX_MAN_CLK_ENABLE_MASK) #define MSVDX_CORE_CR_MMU_BANK_INDEX_OFFSET (0x0688) #define MSVDX_CORE_CR_MMU_DIR_LIST_BASE_OFFSET (0x0694) #define MSVDX_CORE_CR_MMU_CONTROL0_OFFSET MSVDX_MMU_CONTROL0 +#define MSVDX_CORE_CR_FE_MSVDX_WDT_COMPAREMATCH (0x66c) +#define MSVDX_CORE_CR_BE_MSVDX_WDT_COMPAREMATCH (0x678) /* RENDEC registers */ #define MSVDX_RENDEC_CONTROL0 (0x0868) @@ -333,6 +335,7 @@ MSVDX_CORE_CR_MSVDX_MAN_CLK_ENABLE_CR_MTX_MAN_CLK_ENABLE_MASK) #define MSVDX_COMMS_CORE_WTD (MSVDX_COMMS_AREA_ADDR - 0x08) #define MSVDX_COMMS_ERROR_TRIG (MSVDX_COMMS_AREA_ADDR - 0x08) +#define MSVDX_COMMS_FIRMWARE_ID (MSVDX_COMMS_AREA_ADDR - 0x0C) #define MSVDX_COMMS_OFFSET_FLAGS (MSVDX_COMMS_AREA_ADDR + 0x18) #define MSVDX_COMMS_MSG_COUNTER (MSVDX_COMMS_AREA_ADDR - 0x04) #define MSVDX_COMMS_FW_STATUS (MSVDX_COMMS_AREA_ADDR - 0x10) diff --git a/drivers/staging/mrst/imgv/psb_msvdxinit.c b/drivers/staging/mrst/imgv/psb_msvdxinit.c index f6bb173..6e3beb8 100644 --- a/drivers/staging/mrst/imgv/psb_msvdxinit.c +++ b/drivers/staging/mrst/imgv/psb_msvdxinit.c @@ -521,6 +521,7 @@ int psb_setup_fw(struct drm_device *dev) if(IS_MDFLD(dev)) { PSB_WMSVDX32(0, MSVDX_COMMS_ERROR_TRIG); PSB_WMSVDX32(199, 0x208); /* MTX_SYSC_TIMERDIV */ + PSB_WMSVDX32(0x014d42ab, MSVDX_COMMS_FIRMWARE_ID); } PSB_WMSVDX32(0, MSVDX_COMMS_MSG_COUNTER); PSB_WMSVDX32(0, MSVDX_COMMS_SIGNATURE); @@ -917,7 +918,7 @@ int psb_msvdx_init(struct drm_device *dev) if( (core_rev&0xffffff ) < 0x020000 ) msvdx_priv->mtx_mem_size = 16*1024; else - msvdx_priv->mtx_mem_size = 32*1024; + msvdx_priv->mtx_mem_size = 40*1024; PSB_DEBUG_INIT("MSVDX: MTX mem size is 0x%08xbytes allocate firmware BO size 0x%08x\n", msvdx_priv->mtx_mem_size, msvdx_priv->mtx_mem_size + 4096); @@ -977,6 +978,9 @@ int psb_msvdx_init(struct drm_device *dev) msvdx_priv->msvdx_fw_loaded = 0; /* need to load firware */ + PSB_WMSVDX32(820, MSVDX_CORE_CR_FE_MSVDX_WDT_COMPAREMATCH); + PSB_WMSVDX32(8200, MSVDX_CORE_CR_BE_MSVDX_WDT_COMPAREMATCH); + psb_msvdx_clearirq(dev); psb_msvdx_enableirq(dev); -- 1.7.1 _______________________________________________ MeeGo-kernel mailing list [email protected] http://lists.meego.com/listinfo/meego-kernel
