mirror of
https://github.com/nyanmisaka/mpp.git
synced 2026-01-24 04:40:39 +01:00
fix[hal_jpeg_vdpu1]: fix dec failed on RK3036 problem
For kernel 4.4 and before, if VPU only has decoder, register size is 101. Thus extra size append at offset of 164*4 will be ignored by kernel. Change-Id: Idf4524099615b8ffd46766f55c9c0ea481f7cb76 Signed-off-by: Johnson Ding <johnson.ding@rock-chips.com>
This commit is contained in:
parent
be45576b34
commit
53abf03bf2
2 changed files with 10 additions and 2 deletions
|
|
@ -915,10 +915,15 @@ MPP_RET hal_jpegd_vdpu1_start(void *hal, HalTaskInfo *task)
|
|||
do {
|
||||
MppDevRegWrCfg wr_cfg;
|
||||
MppDevRegRdCfg rd_cfg;
|
||||
RK_U32 reg_size = mpp_get_ioctl_version() ?
|
||||
MppIoctlVersion ioctl_version = mpp_get_ioctl_version();
|
||||
RK_U32 reg_size = ioctl_version ?
|
||||
sizeof(((JpegdIocRegInfo *)0)->regs) :
|
||||
sizeof(JpegdIocRegInfo) - EXTRA_INFO_SIZE;
|
||||
|
||||
if (ROCKCHIP_SOC_RK3036 == mpp_get_soc_type() &&
|
||||
IOCTL_VCODEC_SERVICE == ioctl_version)
|
||||
reg_size -= sizeof(((JpegdIocRegInfo *)0)->regs_diff);
|
||||
|
||||
wr_cfg.reg = regs;
|
||||
wr_cfg.size = reg_size;
|
||||
wr_cfg.offset = 0;
|
||||
|
|
|
|||
|
|
@ -488,7 +488,10 @@ MPP_RET vcodec_service_init(void *ctx, MppClientType type)
|
|||
case VPU_CLIENT_VDPU1_PP : {
|
||||
name = mpp_find_device(mpp_vpu_dev);
|
||||
client_type = VPU_DEC_PP;
|
||||
reg_size = VDPU1_PP_REGISTERS;
|
||||
if (ROCKCHIP_SOC_RK3036 == mpp_get_soc_type())
|
||||
reg_size = VDPU1_REGISTERS;
|
||||
else
|
||||
reg_size = VDPU1_PP_REGISTERS;
|
||||
} break;
|
||||
case VPU_CLIENT_VDPU2_PP : {
|
||||
name = mpp_find_device(mpp_vpu_dev);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue