• Chen-Yu Tsai's avatar
    media: mediatek: vcodec: Make decoder capability fields fit requirements · 620a14e6
    Chen-Yu Tsai authored
    This partially reverts commit a8a7a278,
    and changes things so that the capability string fields of the decoder
    conform to their requirements.
    
    This recent change caused ChromeOS's decoder to no longer function. This
    is due to ChromeOS using the driver name field to match the video device
    with its accompanying media device. After the change, they no longer
    matched.
    
    The driver name field should contain the actual driver name, not some
    otherwise unused string macro from the driver. To make this clear,
    copy the name from the driver's name field.
    
    The card name for the video decoder previously held a static platform
    name that was fixed to match MT8173. This obviously doesn't make sense
    for newer chips. Since commit a8a7a278 ("media: mediatek: vcodec:
    Change decoder v4l2 capability value"), this field was changed to hold
    the driver's name, or "mtk-vcodec-dec". This doesn't make much sense
    either, since this still doesn't reflect what chip this is.
    
    Instead, fill in the card name with "MTxxxx video decoder" with the
    proper chip number.
    
    Since commit f2d8b691 ("media: v4l: ioctl: Set bus_info in
    v4l_querycap()"), the V4L2 core provides a default value for the
    bus_info field for platform and PCI devices. This value will match
    the default value for media devices added by commit cef69974
    ("media: mc: Set bus_info in media_device_init()"). These defaults
    are stable and device-specific.
    
    Drop the custom capability bus_info from the mtk-vcodec decoder
    driver, and use the defaults. This also fixes the long standing
    issue where the media device used for the stateless decoder didn't
    have its bus_info set, and would never match its accompanying video
    device.
    
    Fixes: a8a7a278 ("media: mediatek: vcodec: Change decoder v4l2 capability value")
    Signed-off-by: default avatarChen-Yu Tsai <wenst@chromium.org>
    Signed-off-by: default avatarHans Verkuil <hverkuil-cisco@xs4all.nl>
    Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@kernel.org>
    620a14e6
mtk_vcodec_dec.c 28 KB