lkml.org 
[lkml]   [2023]   [Dec]   [19]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    SubjectRe: [PATCH v2 2/2] drm/rockchip: rk3066_hdmi: drop custom fill_modes hook
    From


    On 12/19/23 13:55, Maxime Ripard wrote:
    > Hi,
    >
    > On Mon, Dec 18, 2023 at 04:49:06PM +0100, Johan Jonker wrote:
    >> CRTC size validation for the display controller has been added with
    >> Commit 8e140cb60270 ("drm/rockchip: vop: limit maximum resolution to
    >> hardware capabilities"), so we can drop the custom fill_modes hook.
    >>
    >> Signed-off-by: Johan Jonker <jbx6244@gmail.com>
    >

    > I'm not sure those two are equivalent. CRTC and connectors usually have
    > different requirements and capabilities, and thus different,
    > supplementary, mode_valid/atomic_check implementations.

    Rockchip RK3066 CRTC and connector resolution max_output are equivalent.

    From Rockchip PX2 TRM V1.0.pdf page 17:
    - Video Encoder
    Maximum frame rate is up to 30fps@1920x1080

    - Display Interface
    Support LCD or TFT interfaces up to 1920x1080

    - HDMI TX Interface
    HDMI version 1.4a, HDCP revision 1.4 and DVI version 1.0 compliant transmitter
    Supports DTV from 480i to 1080i/p HD resolution, and PC from VGA to UXGA by LCDC0 or LCDC1 in RK PX2


    Compared to the drm_helper_probe_single_connector_modes() this function added an extra max_output

    Checked in rockchip_drm_vop.c is:
    https://lore.kernel.org/linux-rockchip/20230216102447.582905-2-s.hauer@pengutronix.de/

    + if (vop->data->max_output.width && mode->hdisplay > vop->data->max_output.width)
    + return MODE_BAD_HVALUE;
    +
    + if (vop->data->max_output.height && mode->vdisplay > vop->data->max_output.height)
    + return MODE_BAD_VVALUE;

    For RK3066 VOP max_output:
    https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/drivers/gpu/drm/rockchip/rockchip_vop_reg.c#n506

    This patch was made with HDMI in mind.

    .max_output = { 1920, 1080 },

    This first part was added by Heiko, but not was not part my patch that I submitted:
    - if (maxX > 1920)
    - maxX = 1920;
    - if (maxY > 1080)
    - maxY = 1080;
    -
    - return drm_helper_probe_single_connector_modes(connector, maxX, maxY);
    -}

    Original patch:
    https://patchwork.freedesktop.org/patch/msgid/20190330095639.14626-2-jbx6244@gmail.com

    +static int
    +rk3066_hdmi_probe_single_connector_modes(struct drm_connector *connector,
    + uint32_t maxX, uint32_t maxY)
    +{
    + return drm_helper_probe_single_connector_modes(connector, 1920, 1080);
    +}

    Rockchip RK3066 CRTC and connector resolution max_output are equivalent.

    Johan

    >
    > Maxime

    \
     
     \ /
      Last update: 2023-12-19 16:41    [W:6.138 / U:0.000 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site