From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-7.1 required=3.0 tests=DKIM_SIGNED,DKIM_VALID, DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH,MAILING_LIST_MULTI, SIGNED_OFF_BY,SPF_PASS autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id EB6C3C10F11 for ; Wed, 24 Apr 2019 08:15:31 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id 9C0FE208E4 for ; Wed, 24 Apr 2019 08:15:31 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (1024-bit key) header.d=ideasonboard.com header.i=@ideasonboard.com header.b="S/99jAxL" Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1728242AbfDXIPb (ORCPT ); Wed, 24 Apr 2019 04:15:31 -0400 Received: from perceval.ideasonboard.com ([213.167.242.64]:40824 "EHLO perceval.ideasonboard.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726232AbfDXIPa (ORCPT ); Wed, 24 Apr 2019 04:15:30 -0400 Received: from [192.168.43.26] (unknown [149.254.234.198]) by perceval.ideasonboard.com (Postfix) with ESMTPSA id 94BE75F; Wed, 24 Apr 2019 10:15:25 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com; s=mail; t=1556093727; bh=OUI23pUj8MHrmPgj5CtI0eh9cVvCMXm6n8Q1VwcB6Dc=; h=Reply-To:Subject:To:Cc:References:From:Date:In-Reply-To:From; b=S/99jAxLel8k80Ns8v8kMxcwdi23S+ZW9mLS1M+WXZ+VjUYnBD/cPy5r+mV10ovBB yB15JrrJLlE/vT0bdCyc34AevR0DzwcIzT44C22Tj58B8K9/5/U5yiVxS+OAv/autJ kmITO9CBkiJp9uOpT0d2YtnEPm8Doq9xTRneEcA0= Reply-To: kieran.bingham@ideasonboard.com Subject: Re: [PATCH/RFC 02/15] drm: Use new DRM_BUS_FLAG_*_(DRIVE|SAMPLE)_(POS|NEG)EDGE flags To: Laurent Pinchart , dri-devel@lists.freedesktop.org Cc: linux-renesas-soc@vger.kernel.org References: <20190306232345.23052-1-laurent.pinchart+renesas@ideasonboard.com> <20190306232345.23052-3-laurent.pinchart+renesas@ideasonboard.com> From: Kieran Bingham Openpgp: preference=signencrypt Autocrypt: addr=kieran.bingham@ideasonboard.com; keydata= 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 sbsRB8KNNvVXBOVNwko86rQqF9drZuw= Organization: Ideas on Board Message-ID: <88858c1f-1e5f-cc08-d0d6-0dd5201106cb@ideasonboard.com> Date: Wed, 24 Apr 2019 09:15:22 +0100 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Thunderbird/60.6.1 MIME-Version: 1.0 In-Reply-To: <20190306232345.23052-3-laurent.pinchart+renesas@ideasonboard.com> Content-Type: text/plain; charset=utf-8 Content-Language: en-GB Content-Transfer-Encoding: 8bit Sender: linux-renesas-soc-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-renesas-soc@vger.kernel.org Hi Laurent, On 06/03/2019 23:23, Laurent Pinchart wrote: > The DRM_BUS_FLAG_PIXDATA_(POS|NEG)EDGE and > DRM_BUS_FLAG_SYNC_(POS|NEG)EDGE flags are deprecated in favour of the > new DRM_BUS_FLAG_PIXDATA_(DRIVE|SAMPLE)_(POS|NEG)EDGE and > new DRM_BUS_FLAG_SYNC_(DRIVE|SAMPLE)_(POS|NEG)EDGE flags. Replace them > through the code. > > This effectively changes the value of the .sampling_edge bridge timings > field in the dumb-vga-dac driver. This is safe to do as no driver > consumes these values yet. > > Signed-off-by: Laurent Pinchart > Acked-by: Linus Walleij > --- > drivers/gpu/drm/bridge/dumb-vga-dac.c | 6 ++--- > drivers/gpu/drm/bridge/tc358767.c | 4 ++-- > drivers/gpu/drm/drm_modes.c | 12 +++++----- > drivers/gpu/drm/fsl-dcu/fsl_dcu_drm_crtc.c | 2 +- > drivers/gpu/drm/imx/ipuv3-crtc.c | 2 +- > drivers/gpu/drm/mxsfb/mxsfb_crtc.c | 6 ++--- > .../gpu/drm/omapdrm/displays/encoder-tfp410.c | 5 ++-- > .../displays/panel-lgphilips-lb035q02.c | 5 ++-- > .../omapdrm/displays/panel-nec-nl8048hl11.c | 5 ++-- > .../displays/panel-sharp-ls037v7dw01.c | 5 ++-- > .../omapdrm/displays/panel-sony-acx565akm.c | 5 ++-- > .../omapdrm/displays/panel-tpo-td028ttec1.c | 5 ++-- > .../omapdrm/displays/panel-tpo-td043mtea1.c | 5 ++-- > drivers/gpu/drm/omapdrm/dss/dsi.c | 4 ++-- > drivers/gpu/drm/omapdrm/dss/sdi.c | 4 ++-- > drivers/gpu/drm/omapdrm/omap_encoder.c | 8 +++---- > drivers/gpu/drm/panel/panel-arm-versatile.c | 4 ++-- > drivers/gpu/drm/panel/panel-ilitek-ili9322.c | 4 ++-- > drivers/gpu/drm/panel/panel-seiko-43wvf1g.c | 2 +- > drivers/gpu/drm/panel/panel-simple.c | 24 +++++++++---------- > drivers/gpu/drm/panel/panel-tpo-tpg110.c | 10 ++++---- > drivers/gpu/drm/pl111/pl111_display.c | 2 +- > drivers/gpu/drm/sun4i/sun4i_tcon.c | 4 ++-- > drivers/gpu/drm/tve200/tve200_display.c | 3 ++- > include/drm/drm_bridge.h | 9 +++---- This seems to cover all the uses in my tree. Your changes appear to be consistent and cover all uses of the existing, now deprecated flags. I have a few queries on some of the actual flags used below based on the surrounding comments, but even if those comments prompt action - I don't think those changes should necessarily be part of this patch. Therefore: Reviewed-by: Kieran Bingham > 25 files changed, 77 insertions(+), 68 deletions(-) > > diff --git a/drivers/gpu/drm/bridge/dumb-vga-dac.c b/drivers/gpu/drm/bridge/dumb-vga-dac.c > index 0805801f4e94..94ed450e308d 100644 > --- a/drivers/gpu/drm/bridge/dumb-vga-dac.c > +++ b/drivers/gpu/drm/bridge/dumb-vga-dac.c > @@ -234,7 +234,7 @@ static int dumb_vga_remove(struct platform_device *pdev) > */ > static const struct drm_bridge_timings default_dac_timings = { > /* Timing specifications, datasheet page 7 */ > - .sampling_edge = DRM_BUS_FLAG_PIXDATA_POSEDGE, > + .sampling_edge = DRM_BUS_FLAG_PIXDATA_SAMPLE_POSEDGE, > .setup_time_ps = 500, > .hold_time_ps = 1500, > }; > @@ -245,7 +245,7 @@ static const struct drm_bridge_timings default_dac_timings = { > */ > static const struct drm_bridge_timings ti_ths8134_dac_timings = { > /* From timing diagram, datasheet page 9 */ > - .sampling_edge = DRM_BUS_FLAG_PIXDATA_POSEDGE, > + .sampling_edge = DRM_BUS_FLAG_PIXDATA_SAMPLE_POSEDGE, > /* From datasheet, page 12 */ > .setup_time_ps = 3000, > /* I guess this means latched input */ > @@ -258,7 +258,7 @@ static const struct drm_bridge_timings ti_ths8134_dac_timings = { > */ > static const struct drm_bridge_timings ti_ths8135_dac_timings = { > /* From timing diagram, datasheet page 14 */ > - .sampling_edge = DRM_BUS_FLAG_PIXDATA_POSEDGE, > + .sampling_edge = DRM_BUS_FLAG_PIXDATA_SAMPLE_POSEDGE, > /* From datasheet, page 16 */ > .setup_time_ps = 2000, > .hold_time_ps = 500, > diff --git a/drivers/gpu/drm/bridge/tc358767.c b/drivers/gpu/drm/bridge/tc358767.c > index 888980d4bc74..e570c9dee180 100644 > --- a/drivers/gpu/drm/bridge/tc358767.c > +++ b/drivers/gpu/drm/bridge/tc358767.c > @@ -1222,8 +1222,8 @@ static int tc_bridge_attach(struct drm_bridge *bridge) > &bus_format, 1); > tc->connector.display_info.bus_flags = > DRM_BUS_FLAG_DE_HIGH | > - DRM_BUS_FLAG_PIXDATA_NEGEDGE | > - DRM_BUS_FLAG_SYNC_NEGEDGE; > + DRM_BUS_FLAG_PIXDATA_DRIVE_NEGEDGE | > + DRM_BUS_FLAG_SYNC_DRIVE_NEGEDGE; > drm_connector_attach_encoder(&tc->connector, tc->bridge.encoder); > > return 0; > diff --git a/drivers/gpu/drm/drm_modes.c b/drivers/gpu/drm/drm_modes.c > index 869ac6f4671e..56f92a0bba62 100644 > --- a/drivers/gpu/drm/drm_modes.c > +++ b/drivers/gpu/drm/drm_modes.c > @@ -655,22 +655,22 @@ EXPORT_SYMBOL_GPL(drm_display_mode_to_videomode); > * @bus_flags: information about pixelclk, sync and DE polarity will be stored > * here > * > - * Sets DRM_BUS_FLAG_DE_(LOW|HIGH), DRM_BUS_FLAG_PIXDATA_(POS|NEG)EDGE and > - * DISPLAY_FLAGS_SYNC_(POS|NEG)EDGE in @bus_flags according to DISPLAY_FLAGS > + * Sets DRM_BUS_FLAG_DE_(LOW|HIGH), DRM_BUS_FLAG_PIXDATA_DRIVE_(POS|NEG)EDGE > + * and DISPLAY_FLAGS_SYNC_(POS|NEG)EDGE in @bus_flags according to DISPLAY_FLAGS > * found in @vm > */ > void drm_bus_flags_from_videomode(const struct videomode *vm, u32 *bus_flags) > { > *bus_flags = 0; > if (vm->flags & DISPLAY_FLAGS_PIXDATA_POSEDGE) > - *bus_flags |= DRM_BUS_FLAG_PIXDATA_POSEDGE; > + *bus_flags |= DRM_BUS_FLAG_PIXDATA_DRIVE_POSEDGE; > if (vm->flags & DISPLAY_FLAGS_PIXDATA_NEGEDGE) > - *bus_flags |= DRM_BUS_FLAG_PIXDATA_NEGEDGE; > + *bus_flags |= DRM_BUS_FLAG_PIXDATA_DRIVE_NEGEDGE; > > if (vm->flags & DISPLAY_FLAGS_SYNC_POSEDGE) > - *bus_flags |= DRM_BUS_FLAG_SYNC_POSEDGE; > + *bus_flags |= DRM_BUS_FLAG_SYNC_DRIVE_POSEDGE; > if (vm->flags & DISPLAY_FLAGS_SYNC_NEGEDGE) > - *bus_flags |= DRM_BUS_FLAG_SYNC_NEGEDGE; > + *bus_flags |= DRM_BUS_FLAG_SYNC_DRIVE_NEGEDGE; > > if (vm->flags & DISPLAY_FLAGS_DE_LOW) > *bus_flags |= DRM_BUS_FLAG_DE_LOW; > diff --git a/drivers/gpu/drm/fsl-dcu/fsl_dcu_drm_crtc.c b/drivers/gpu/drm/fsl-dcu/fsl_dcu_drm_crtc.c > index bf256971063d..83c841b50272 100644 > --- a/drivers/gpu/drm/fsl-dcu/fsl_dcu_drm_crtc.c > +++ b/drivers/gpu/drm/fsl-dcu/fsl_dcu_drm_crtc.c > @@ -94,7 +94,7 @@ static void fsl_dcu_drm_crtc_mode_set_nofb(struct drm_crtc *crtc) > drm_display_mode_to_videomode(mode, &vm); > > /* INV_PXCK as default (most display sample data on rising edge) */ I know it's not directly related to your code change but this comment confuses me. This doesn't look like it's setting INV_PXCK by default, as it's only doing it if the PIXDATA_DRIVE_POSEDGE flag is not set in the bus_flags? Aha - it's because it's talking about sampling ... So DRIVE_POSEDGE == SAMPLE_NEGEDGE ... So given that - perhaps the below conditional should be: >>> + if (!(con->display_info.bus_flags & DRM_BUS_FLAG_PIXDATA_SAMPLE_NEGEDGE)) ? (In fact, I believe that was the purpose of these new macros right?) > - if (!(con->display_info.bus_flags & DRM_BUS_FLAG_PIXDATA_POSEDGE)) > + if (!(con->display_info.bus_flags & DRM_BUS_FLAG_PIXDATA_DRIVE_POSEDGE)) > pol |= DCU_SYN_POL_INV_PXCK; > > if (vm.flags & DISPLAY_FLAGS_HSYNC_LOW) > diff --git a/drivers/gpu/drm/imx/ipuv3-crtc.c b/drivers/gpu/drm/imx/ipuv3-crtc.c > index ec3602ebbc1c..311a20c942eb 100644 > --- a/drivers/gpu/drm/imx/ipuv3-crtc.c > +++ b/drivers/gpu/drm/imx/ipuv3-crtc.c > @@ -295,7 +295,7 @@ static void ipu_crtc_mode_set_nofb(struct drm_crtc *crtc) > sig_cfg.enable_pol = !(imx_crtc_state->bus_flags & DRM_BUS_FLAG_DE_LOW); > /* Default to driving pixel data on negative clock edges */ > sig_cfg.clk_pol = !!(imx_crtc_state->bus_flags & > - DRM_BUS_FLAG_PIXDATA_POSEDGE); > + DRM_BUS_FLAG_PIXDATA_DRIVE_POSEDGE); Hrm ... and here again the comment and code don't seem to match ... unless I'm mis-interpreting... (perhaps clk_pol is the inverse? - though it's defined as "true = rising-edge" in include/video/imx-ipu-v3.h). If this is wrong, I'd consider it a separate change to this patch though. > sig_cfg.bus_format = imx_crtc_state->bus_format; > sig_cfg.v_to_h_sync = 0; > sig_cfg.hsync_pin = imx_crtc_state->di_hsync_pin; > diff --git a/drivers/gpu/drm/mxsfb/mxsfb_crtc.c b/drivers/gpu/drm/mxsfb/mxsfb_crtc.c > index 0ee1ca8a316a..98e9bda91e80 100644 > --- a/drivers/gpu/drm/mxsfb/mxsfb_crtc.c > +++ b/drivers/gpu/drm/mxsfb/mxsfb_crtc.c > @@ -253,12 +253,12 @@ static void mxsfb_crtc_mode_set_nofb(struct mxsfb_drm_private *mxsfb) > if (!(bus_flags & DRM_BUS_FLAG_DE_LOW)) > vdctrl0 |= VDCTRL0_ENABLE_ACT_HIGH; > /* > - * DRM_BUS_FLAG_PIXDATA_ defines are controller centric, > + * DRM_BUS_FLAG_PIXDATA_DRIVE_ defines are controller centric, > * controllers VDCTRL0_DOTCLK is display centric. > * Drive on positive edge -> display samples on falling edge > - * DRM_BUS_FLAG_PIXDATA_POSEDGE -> VDCTRL0_DOTCLK_ACT_FALLING > + * DRM_BUS_FLAG_PIXDATA_DRIVE_POSEDGE -> VDCTRL0_DOTCLK_ACT_FALLING > */ > - if (bus_flags & DRM_BUS_FLAG_PIXDATA_POSEDGE) > + if (bus_flags & DRM_BUS_FLAG_PIXDATA_DRIVE_POSEDGE) > vdctrl0 |= VDCTRL0_DOTCLK_ACT_FALLING; > > writel(vdctrl0, mxsfb->base + LCDC_VDCTRL0); > diff --git a/drivers/gpu/drm/omapdrm/displays/encoder-tfp410.c b/drivers/gpu/drm/omapdrm/displays/encoder-tfp410.c > index f1a748353279..a98d8759016d 100644 > --- a/drivers/gpu/drm/omapdrm/displays/encoder-tfp410.c > +++ b/drivers/gpu/drm/omapdrm/displays/encoder-tfp410.c > @@ -111,8 +111,9 @@ static int tfp410_probe(struct platform_device *pdev) > dssdev->output_type = OMAP_DISPLAY_TYPE_DVI; > dssdev->owner = THIS_MODULE; > dssdev->of_ports = BIT(1) | BIT(0); > - dssdev->bus_flags = DRM_BUS_FLAG_DE_HIGH | DRM_BUS_FLAG_SYNC_POSEDGE > - | DRM_BUS_FLAG_PIXDATA_POSEDGE; > + dssdev->bus_flags = DRM_BUS_FLAG_DE_HIGH > + | DRM_BUS_FLAG_SYNC_DRIVE_POSEDGE > + | DRM_BUS_FLAG_PIXDATA_DRIVE_POSEDGE; > > dssdev->next = omapdss_of_find_connected_device(pdev->dev.of_node, 1); > if (IS_ERR(dssdev->next)) { > diff --git a/drivers/gpu/drm/omapdrm/displays/panel-lgphilips-lb035q02.c b/drivers/gpu/drm/omapdrm/displays/panel-lgphilips-lb035q02.c > index f6ef8ff964dd..e36570b2bd15 100644 > --- a/drivers/gpu/drm/omapdrm/displays/panel-lgphilips-lb035q02.c > +++ b/drivers/gpu/drm/omapdrm/displays/panel-lgphilips-lb035q02.c > @@ -229,8 +229,9 @@ static int lb035q02_panel_spi_probe(struct spi_device *spi) > /* > * Note: According to the panel documentation: > * DE is active LOW > * DATA needs to be driven on the FALLING edge > */ > - dssdev->bus_flags = DRM_BUS_FLAG_DE_HIGH | DRM_BUS_FLAG_SYNC_NEGEDGE > - | DRM_BUS_FLAG_PIXDATA_POSEDGE; > + dssdev->bus_flags = DRM_BUS_FLAG_DE_HIGH > + | DRM_BUS_FLAG_SYNC_DRIVE_NEGEDGE > + | DRM_BUS_FLAG_PIXDATA_DRIVE_POSEDGE; Wow - I don't think I should look at comments vs code any more ... Ok - so this is documented an identified inversion in commit: d7b56e6f4e34b6d182b3c4e03c1bd88a3acfb210, so I'll just move on here :) I see there is a similar pattern below in other displays where the documentation states an inverted polarity so this must be a common thing. > > omapdss_display_init(dssdev); > omapdss_device_register(dssdev); > diff --git a/drivers/gpu/drm/omapdrm/displays/panel-nec-nl8048hl11.c b/drivers/gpu/drm/omapdrm/displays/panel-nec-nl8048hl11.c > index f445de6369f7..6d3d49b90214 100644 > --- a/drivers/gpu/drm/omapdrm/displays/panel-nec-nl8048hl11.c > +++ b/drivers/gpu/drm/omapdrm/displays/panel-nec-nl8048hl11.c > @@ -218,8 +218,9 @@ static int nec_8048_probe(struct spi_device *spi) > dssdev->type = OMAP_DISPLAY_TYPE_DPI; > dssdev->owner = THIS_MODULE; > dssdev->of_ports = BIT(0); > - dssdev->bus_flags = DRM_BUS_FLAG_DE_HIGH | DRM_BUS_FLAG_SYNC_POSEDGE > - | DRM_BUS_FLAG_PIXDATA_POSEDGE; > + dssdev->bus_flags = DRM_BUS_FLAG_DE_HIGH > + | DRM_BUS_FLAG_SYNC_DRIVE_POSEDGE > + | DRM_BUS_FLAG_PIXDATA_DRIVE_POSEDGE; > > omapdss_display_init(dssdev); > omapdss_device_register(dssdev); > diff --git a/drivers/gpu/drm/omapdrm/displays/panel-sharp-ls037v7dw01.c b/drivers/gpu/drm/omapdrm/displays/panel-sharp-ls037v7dw01.c > index 64b1369cb274..9532166e71df 100644 > --- a/drivers/gpu/drm/omapdrm/displays/panel-sharp-ls037v7dw01.c > +++ b/drivers/gpu/drm/omapdrm/displays/panel-sharp-ls037v7dw01.c > @@ -227,8 +227,9 @@ static int sharp_ls_probe(struct platform_device *pdev) > * Note: According to the panel documentation: > * DATA needs to be driven on the FALLING edge > */ > - dssdev->bus_flags = DRM_BUS_FLAG_DE_HIGH | DRM_BUS_FLAG_SYNC_NEGEDGE > - | DRM_BUS_FLAG_PIXDATA_POSEDGE; > + dssdev->bus_flags = DRM_BUS_FLAG_DE_HIGH > + | DRM_BUS_FLAG_SYNC_DRIVE_NEGEDGE > + | DRM_BUS_FLAG_PIXDATA_DRIVE_POSEDGE; > > omapdss_display_init(dssdev); > omapdss_device_register(dssdev); > diff --git a/drivers/gpu/drm/omapdrm/displays/panel-sony-acx565akm.c b/drivers/gpu/drm/omapdrm/displays/panel-sony-acx565akm.c > index e04663856b31..2a13dbaf35ce 100644 > --- a/drivers/gpu/drm/omapdrm/displays/panel-sony-acx565akm.c > +++ b/drivers/gpu/drm/omapdrm/displays/panel-sony-acx565akm.c > @@ -741,8 +741,9 @@ static int acx565akm_probe(struct spi_device *spi) > dssdev->type = OMAP_DISPLAY_TYPE_SDI; > dssdev->owner = THIS_MODULE; > dssdev->of_ports = BIT(0); > - dssdev->bus_flags = DRM_BUS_FLAG_DE_HIGH | DRM_BUS_FLAG_SYNC_NEGEDGE > - | DRM_BUS_FLAG_PIXDATA_POSEDGE; > + dssdev->bus_flags = DRM_BUS_FLAG_DE_HIGH > + | DRM_BUS_FLAG_SYNC_DRIVE_NEGEDGE > + | DRM_BUS_FLAG_PIXDATA_DRIVE_POSEDGE; > > omapdss_display_init(dssdev); > omapdss_device_register(dssdev); > diff --git a/drivers/gpu/drm/omapdrm/displays/panel-tpo-td028ttec1.c b/drivers/gpu/drm/omapdrm/displays/panel-tpo-td028ttec1.c > index 7ddc8c574a61..52ebd5027ded 100644 > --- a/drivers/gpu/drm/omapdrm/displays/panel-tpo-td028ttec1.c > +++ b/drivers/gpu/drm/omapdrm/displays/panel-tpo-td028ttec1.c > @@ -351,8 +351,9 @@ static int td028ttec1_panel_probe(struct spi_device *spi) > * Note: According to the panel documentation: > * SYNC needs to be driven on the FALLING edge > */ > - dssdev->bus_flags = DRM_BUS_FLAG_DE_HIGH | DRM_BUS_FLAG_SYNC_POSEDGE > - | DRM_BUS_FLAG_PIXDATA_NEGEDGE; > + dssdev->bus_flags = DRM_BUS_FLAG_DE_HIGH > + | DRM_BUS_FLAG_SYNC_DRIVE_POSEDGE > + | DRM_BUS_FLAG_PIXDATA_DRIVE_NEGEDGE; > > omapdss_display_init(dssdev); > omapdss_device_register(dssdev); > diff --git a/drivers/gpu/drm/omapdrm/displays/panel-tpo-td043mtea1.c b/drivers/gpu/drm/omapdrm/displays/panel-tpo-td043mtea1.c > index 8440fcb744d9..9c56e5d2292c 100644 > --- a/drivers/gpu/drm/omapdrm/displays/panel-tpo-td043mtea1.c > +++ b/drivers/gpu/drm/omapdrm/displays/panel-tpo-td043mtea1.c > @@ -449,8 +449,9 @@ static int tpo_td043_probe(struct spi_device *spi) > * Note: According to the panel documentation: > * SYNC needs to be driven on the FALLING edge > */ > - dssdev->bus_flags = DRM_BUS_FLAG_DE_HIGH | DRM_BUS_FLAG_SYNC_POSEDGE > - | DRM_BUS_FLAG_PIXDATA_NEGEDGE; > + dssdev->bus_flags = DRM_BUS_FLAG_DE_HIGH > + | DRM_BUS_FLAG_SYNC_DRIVE_POSEDGE > + | DRM_BUS_FLAG_PIXDATA_DRIVE_NEGEDGE; > > omapdss_display_init(dssdev); > omapdss_device_register(dssdev); > diff --git a/drivers/gpu/drm/omapdrm/dss/dsi.c b/drivers/gpu/drm/omapdrm/dss/dsi.c > index 64fb788b6647..0f06872e81f7 100644 > --- a/drivers/gpu/drm/omapdrm/dss/dsi.c > +++ b/drivers/gpu/drm/omapdrm/dss/dsi.c > @@ -5144,9 +5144,9 @@ static int dsi_init_output(struct dsi_data *dsi) > out->ops = &dsi_ops; > out->owner = THIS_MODULE; > out->of_ports = BIT(0); > - out->bus_flags = DRM_BUS_FLAG_PIXDATA_POSEDGE > + out->bus_flags = DRM_BUS_FLAG_PIXDATA_DRIVE_POSEDGE > | DRM_BUS_FLAG_DE_HIGH > - | DRM_BUS_FLAG_SYNC_NEGEDGE; > + | DRM_BUS_FLAG_SYNC_DRIVE_NEGEDGE; > > out->next = omapdss_of_find_connected_device(out->dev->of_node, 0); > if (IS_ERR(out->next)) { > diff --git a/drivers/gpu/drm/omapdrm/dss/sdi.c b/drivers/gpu/drm/omapdrm/dss/sdi.c > index b2fe2387037a..fcf10bba4f48 100644 > --- a/drivers/gpu/drm/omapdrm/dss/sdi.c > +++ b/drivers/gpu/drm/omapdrm/dss/sdi.c > @@ -294,8 +294,8 @@ static int sdi_init_output(struct sdi_device *sdi) > out->of_ports = BIT(1); > out->ops = &sdi_ops; > out->owner = THIS_MODULE; > - out->bus_flags = DRM_BUS_FLAG_PIXDATA_POSEDGE /* 15.5.9.1.2 */ > - | DRM_BUS_FLAG_SYNC_POSEDGE; > + out->bus_flags = DRM_BUS_FLAG_PIXDATA_DRIVE_POSEDGE /* 15.5.9.1.2 */ > + | DRM_BUS_FLAG_SYNC_DRIVE_POSEDGE; > > out->next = omapdss_of_find_connected_device(out->dev->of_node, 1); > if (IS_ERR(out->next)) { > diff --git a/drivers/gpu/drm/omapdrm/omap_encoder.c b/drivers/gpu/drm/omapdrm/omap_encoder.c > index 0d85b3a35767..5527b6f70fe5 100644 > --- a/drivers/gpu/drm/omapdrm/omap_encoder.c > +++ b/drivers/gpu/drm/omapdrm/omap_encoder.c > @@ -115,17 +115,17 @@ static void omap_encoder_mode_set(struct drm_encoder *encoder, > > if (!(vm.flags & (DISPLAY_FLAGS_PIXDATA_POSEDGE | > DISPLAY_FLAGS_PIXDATA_NEGEDGE))) { > - if (bus_flags & DRM_BUS_FLAG_PIXDATA_POSEDGE) > + if (bus_flags & DRM_BUS_FLAG_PIXDATA_DRIVE_POSEDGE) > vm.flags |= DISPLAY_FLAGS_PIXDATA_POSEDGE; > - else if (bus_flags & DRM_BUS_FLAG_PIXDATA_NEGEDGE) > + else if (bus_flags & DRM_BUS_FLAG_PIXDATA_DRIVE_NEGEDGE) > vm.flags |= DISPLAY_FLAGS_PIXDATA_NEGEDGE; > } > > if (!(vm.flags & (DISPLAY_FLAGS_SYNC_POSEDGE | > DISPLAY_FLAGS_SYNC_NEGEDGE))) { > - if (bus_flags & DRM_BUS_FLAG_SYNC_POSEDGE) > + if (bus_flags & DRM_BUS_FLAG_SYNC_DRIVE_POSEDGE) > vm.flags |= DISPLAY_FLAGS_SYNC_POSEDGE; > - else if (bus_flags & DRM_BUS_FLAG_SYNC_NEGEDGE) > + else if (bus_flags & DRM_BUS_FLAG_SYNC_DRIVE_NEGEDGE) > vm.flags |= DISPLAY_FLAGS_SYNC_NEGEDGE; > } > } > diff --git a/drivers/gpu/drm/panel/panel-arm-versatile.c b/drivers/gpu/drm/panel/panel-arm-versatile.c > index b428c4678106..078fa2c0eef8 100644 > --- a/drivers/gpu/drm/panel/panel-arm-versatile.c > +++ b/drivers/gpu/drm/panel/panel-arm-versatile.c > @@ -191,7 +191,7 @@ static const struct versatile_panel_type versatile_panels[] = { > .vrefresh = 390, > .flags = DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_PVSYNC, > }, > - .bus_flags = DRM_BUS_FLAG_PIXDATA_NEGEDGE, > + .bus_flags = DRM_BUS_FLAG_PIXDATA_DRIVE_NEGEDGE, > }, > /* > * Sanyo ALR252RGT 240x320 portrait display found on the > @@ -215,7 +215,7 @@ static const struct versatile_panel_type versatile_panels[] = { > .vrefresh = 116, > .flags = DRM_MODE_FLAG_NHSYNC | DRM_MODE_FLAG_NVSYNC, > }, > - .bus_flags = DRM_BUS_FLAG_PIXDATA_NEGEDGE, > + .bus_flags = DRM_BUS_FLAG_PIXDATA_DRIVE_NEGEDGE, > .ib2 = true, > }, > }; > diff --git a/drivers/gpu/drm/panel/panel-ilitek-ili9322.c b/drivers/gpu/drm/panel/panel-ilitek-ili9322.c > index bd38bf4f1ba6..35497ff08391 100644 > --- a/drivers/gpu/drm/panel/panel-ilitek-ili9322.c > +++ b/drivers/gpu/drm/panel/panel-ilitek-ili9322.c > @@ -412,11 +412,11 @@ static int ili9322_init(struct drm_panel *panel, struct ili9322 *ili) > if (ili->conf->dclk_active_high) { > reg = ILI9322_POL_DCLK; > connector->display_info.bus_flags |= > - DRM_BUS_FLAG_PIXDATA_POSEDGE; > + DRM_BUS_FLAG_PIXDATA_DRIVE_POSEDGE; > } else { > reg = 0; > connector->display_info.bus_flags |= > - DRM_BUS_FLAG_PIXDATA_NEGEDGE; > + DRM_BUS_FLAG_PIXDATA_DRIVE_NEGEDGE; > } > if (ili->conf->de_active_high) { > reg |= ILI9322_POL_DE; > diff --git a/drivers/gpu/drm/panel/panel-seiko-43wvf1g.c b/drivers/gpu/drm/panel/panel-seiko-43wvf1g.c > index 2d99e28ff117..bdcc5d80823d 100644 > --- a/drivers/gpu/drm/panel/panel-seiko-43wvf1g.c > +++ b/drivers/gpu/drm/panel/panel-seiko-43wvf1g.c > @@ -328,7 +328,7 @@ static const struct seiko_panel_desc seiko_43wvf1g = { > .height = 57, > }, > .bus_format = MEDIA_BUS_FMT_RGB888_1X24, > - .bus_flags = DRM_BUS_FLAG_DE_HIGH | DRM_BUS_FLAG_PIXDATA_NEGEDGE, > + .bus_flags = DRM_BUS_FLAG_DE_HIGH | DRM_BUS_FLAG_PIXDATA_DRIVE_NEGEDGE, > }; > > static const struct of_device_id platform_of_match[] = { > diff --git a/drivers/gpu/drm/panel/panel-simple.c b/drivers/gpu/drm/panel/panel-simple.c > index 9e8218f6a3f2..64516f23a957 100644 > --- a/drivers/gpu/drm/panel/panel-simple.c > +++ b/drivers/gpu/drm/panel/panel-simple.c > @@ -914,7 +914,7 @@ static const struct panel_desc cdtech_s043wq26h_ct7 = { > .width = 95, > .height = 54, > }, > - .bus_flags = DRM_BUS_FLAG_PIXDATA_POSEDGE, > + .bus_flags = DRM_BUS_FLAG_PIXDATA_DRIVE_POSEDGE, > }; > > static const struct drm_display_mode cdtech_s070wv95_ct16_mode = { > @@ -1034,7 +1034,7 @@ static const struct panel_desc dataimage_scf0700c48ggu18 = { > .height = 91, > }, > .bus_format = MEDIA_BUS_FMT_RGB888_1X24, > - .bus_flags = DRM_BUS_FLAG_DE_HIGH | DRM_BUS_FLAG_PIXDATA_POSEDGE, > + .bus_flags = DRM_BUS_FLAG_DE_HIGH | DRM_BUS_FLAG_PIXDATA_DRIVE_POSEDGE, > }; > > static const struct display_timing dlc_dlc0700yzg_1_timing = { > @@ -1119,7 +1119,7 @@ static const struct panel_desc edt_et057090dhu = { > .height = 86, > }, > .bus_format = MEDIA_BUS_FMT_RGB666_1X18, > - .bus_flags = DRM_BUS_FLAG_DE_HIGH | DRM_BUS_FLAG_PIXDATA_NEGEDGE, > + .bus_flags = DRM_BUS_FLAG_DE_HIGH | DRM_BUS_FLAG_PIXDATA_DRIVE_NEGEDGE, > }; > > static const struct drm_display_mode edt_etm0700g0dh6_mode = { > @@ -1145,7 +1145,7 @@ static const struct panel_desc edt_etm0700g0dh6 = { > .height = 91, > }, > .bus_format = MEDIA_BUS_FMT_RGB666_1X18, > - .bus_flags = DRM_BUS_FLAG_DE_HIGH | DRM_BUS_FLAG_PIXDATA_NEGEDGE, > + .bus_flags = DRM_BUS_FLAG_DE_HIGH | DRM_BUS_FLAG_PIXDATA_DRIVE_NEGEDGE, > }; > > static const struct panel_desc edt_etm0700g0bdh6 = { > @@ -1157,7 +1157,7 @@ static const struct panel_desc edt_etm0700g0bdh6 = { > .height = 91, > }, > .bus_format = MEDIA_BUS_FMT_RGB666_1X18, > - .bus_flags = DRM_BUS_FLAG_DE_HIGH | DRM_BUS_FLAG_PIXDATA_POSEDGE, > + .bus_flags = DRM_BUS_FLAG_DE_HIGH | DRM_BUS_FLAG_PIXDATA_DRIVE_POSEDGE, > }; > > static const struct drm_display_mode foxlink_fl500wvr00_a0t_mode = { > @@ -1311,7 +1311,7 @@ static const struct panel_desc innolux_at043tn24 = { > .height = 54, > }, > .bus_format = MEDIA_BUS_FMT_RGB888_1X24, > - .bus_flags = DRM_BUS_FLAG_DE_HIGH | DRM_BUS_FLAG_PIXDATA_POSEDGE, > + .bus_flags = DRM_BUS_FLAG_DE_HIGH | DRM_BUS_FLAG_PIXDATA_DRIVE_POSEDGE, > }; > > static const struct drm_display_mode innolux_at070tn92_mode = { > @@ -1818,7 +1818,7 @@ static const struct panel_desc nec_nl4827hc19_05b = { > .height = 54, > }, > .bus_format = MEDIA_BUS_FMT_RGB888_1X24, > - .bus_flags = DRM_BUS_FLAG_PIXDATA_POSEDGE, > + .bus_flags = DRM_BUS_FLAG_PIXDATA_DRIVE_POSEDGE, > }; > > static const struct drm_display_mode netron_dy_e231732_mode = { > @@ -1867,8 +1867,8 @@ static const struct panel_desc newhaven_nhd_43_480272ef_atxl = { > .height = 54, > }, > .bus_format = MEDIA_BUS_FMT_RGB888_1X24, > - .bus_flags = DRM_BUS_FLAG_DE_HIGH | DRM_BUS_FLAG_PIXDATA_POSEDGE | > - DRM_BUS_FLAG_SYNC_POSEDGE, > + .bus_flags = DRM_BUS_FLAG_DE_HIGH | DRM_BUS_FLAG_PIXDATA_DRIVE_POSEDGE | > + DRM_BUS_FLAG_SYNC_DRIVE_POSEDGE, > }; > > static const struct display_timing nlt_nl192108ac18_02d_timing = { > @@ -2029,7 +2029,7 @@ static const struct panel_desc ortustech_com43h4m85ulc = { > .height = 93, > }, > .bus_format = MEDIA_BUS_FMT_RGB888_1X24, > - .bus_flags = DRM_BUS_FLAG_DE_HIGH | DRM_BUS_FLAG_PIXDATA_POSEDGE, > + .bus_flags = DRM_BUS_FLAG_DE_HIGH | DRM_BUS_FLAG_PIXDATA_DRIVE_POSEDGE, > }; > > static const struct drm_display_mode pda_91_00156_a0_mode = { > @@ -2398,7 +2398,7 @@ static const struct panel_desc toshiba_lt089ac29000 = { > .height = 116, > }, > .bus_format = MEDIA_BUS_FMT_RGB888_1X24, > - .bus_flags = DRM_BUS_FLAG_DE_HIGH | DRM_BUS_FLAG_PIXDATA_POSEDGE, > + .bus_flags = DRM_BUS_FLAG_DE_HIGH | DRM_BUS_FLAG_PIXDATA_DRIVE_POSEDGE, > }; > > static const struct drm_display_mode tpk_f07a_0102_mode = { > @@ -2421,7 +2421,7 @@ static const struct panel_desc tpk_f07a_0102 = { > .width = 152, > .height = 91, > }, > - .bus_flags = DRM_BUS_FLAG_PIXDATA_POSEDGE, > + .bus_flags = DRM_BUS_FLAG_PIXDATA_DRIVE_POSEDGE, > }; > > static const struct drm_display_mode tpk_f10a_0102_mode = { > diff --git a/drivers/gpu/drm/panel/panel-tpo-tpg110.c b/drivers/gpu/drm/panel/panel-tpo-tpg110.c > index 5a9f8f4d5d24..25f00cfc1af4 100644 > --- a/drivers/gpu/drm/panel/panel-tpo-tpg110.c > +++ b/drivers/gpu/drm/panel/panel-tpo-tpg110.c > @@ -118,7 +118,7 @@ static const struct tpg110_panel_mode tpg110_modes[] = { > .vtotal = 480 + 10 + 1 + 35, > .vrefresh = 60, > }, > - .bus_flags = DRM_BUS_FLAG_PIXDATA_POSEDGE, > + .bus_flags = DRM_BUS_FLAG_PIXDATA_DRIVE_POSEDGE, > }, > { > .name = "640x480 RGB", > @@ -135,7 +135,7 @@ static const struct tpg110_panel_mode tpg110_modes[] = { > .vtotal = 480 + 18 + 1 + 27, > .vrefresh = 60, > }, > - .bus_flags = DRM_BUS_FLAG_PIXDATA_POSEDGE, > + .bus_flags = DRM_BUS_FLAG_PIXDATA_DRIVE_POSEDGE, > }, > { > .name = "480x272 RGB", > @@ -152,7 +152,7 @@ static const struct tpg110_panel_mode tpg110_modes[] = { > .vtotal = 272 + 2 + 1 + 12, > .vrefresh = 60, > }, > - .bus_flags = DRM_BUS_FLAG_PIXDATA_POSEDGE, > + .bus_flags = DRM_BUS_FLAG_PIXDATA_DRIVE_POSEDGE, > }, > { > .name = "480x640 RGB", > @@ -169,7 +169,7 @@ static const struct tpg110_panel_mode tpg110_modes[] = { > .vtotal = 640 + 4 + 1 + 8, > .vrefresh = 60, > }, > - .bus_flags = DRM_BUS_FLAG_PIXDATA_POSEDGE, > + .bus_flags = DRM_BUS_FLAG_PIXDATA_DRIVE_POSEDGE, > }, > { > .name = "400x240 RGB", > @@ -186,7 +186,7 @@ static const struct tpg110_panel_mode tpg110_modes[] = { > .vtotal = 240 + 2 + 1 + 20, > .vrefresh = 60, > }, > - .bus_flags = DRM_BUS_FLAG_PIXDATA_POSEDGE, > + .bus_flags = DRM_BUS_FLAG_PIXDATA_DRIVE_POSEDGE, > }, > }; > > diff --git a/drivers/gpu/drm/pl111/pl111_display.c b/drivers/gpu/drm/pl111/pl111_display.c > index 754f6b25f265..0c5d391f0a8f 100644 > --- a/drivers/gpu/drm/pl111/pl111_display.c > +++ b/drivers/gpu/drm/pl111/pl111_display.c > @@ -188,7 +188,7 @@ static void pl111_display_enable(struct drm_simple_display_pipe *pipe, > tim2 |= TIM2_IOE; > > if (connector->display_info.bus_flags & > - DRM_BUS_FLAG_PIXDATA_NEGEDGE) > + DRM_BUS_FLAG_PIXDATA_DRIVE_NEGEDGE) > tim2 |= TIM2_IPC; > } > > diff --git a/drivers/gpu/drm/sun4i/sun4i_tcon.c b/drivers/gpu/drm/sun4i/sun4i_tcon.c > index 7136fc91c603..ca713d200280 100644 > --- a/drivers/gpu/drm/sun4i/sun4i_tcon.c > +++ b/drivers/gpu/drm/sun4i/sun4i_tcon.c > @@ -561,10 +561,10 @@ static void sun4i_tcon0_mode_set_rgb(struct sun4i_tcon *tcon, > * Following code is a way to avoid quirks all around TCON > * and DOTCLOCK drivers. > */ > - if (display_info.bus_flags & DRM_BUS_FLAG_PIXDATA_POSEDGE) > + if (display_info.bus_flags & DRM_BUS_FLAG_PIXDATA_DRIVE_POSEDGE) > clk_set_phase(tcon->dclk, 240); > > - if (display_info.bus_flags & DRM_BUS_FLAG_PIXDATA_NEGEDGE) > + if (display_info.bus_flags & DRM_BUS_FLAG_PIXDATA_DRIVE_NEGEDGE) > clk_set_phase(tcon->dclk, 0); > > regmap_update_bits(tcon->regs, SUN4I_TCON0_IO_POL_REG, > diff --git a/drivers/gpu/drm/tve200/tve200_display.c b/drivers/gpu/drm/tve200/tve200_display.c > index e8723a2412a6..d775d10dbe6a 100644 > --- a/drivers/gpu/drm/tve200/tve200_display.c > +++ b/drivers/gpu/drm/tve200/tve200_display.c > @@ -149,7 +149,8 @@ static void tve200_display_enable(struct drm_simple_display_pipe *pipe, > /* Vsync IRQ at start of Vsync at first */ > ctrl1 |= TVE200_VSTSTYPE_VSYNC; > > - if (connector->display_info.bus_flags & DRM_BUS_FLAG_PIXDATA_NEGEDGE) > + if (connector->display_info.bus_flags & > + DRM_BUS_FLAG_PIXDATA_DRIVE_NEGEDGE) > ctrl1 |= TVE200_CTRL_TVCLKP; > > if ((mode->hdisplay == 352 && mode->vdisplay == 240) || /* SIF(525) */ > diff --git a/include/drm/drm_bridge.h b/include/drm/drm_bridge.h > index 9da8c93f7976..5e5129206f40 100644 > --- a/include/drm/drm_bridge.h > +++ b/include/drm/drm_bridge.h > @@ -246,10 +246,11 @@ struct drm_bridge_timings { > /** > * @sampling_edge: > * > - * Tells whether the bridge samples the digital input signal > - * from the display engine on the positive or negative edge of the > - * clock, this should reuse the DRM_BUS_FLAG_PIXDATA_[POS|NEG]EDGE > - * bitwise flags from the DRM connector (bit 2 and 3 valid). > + * Tells whether the bridge samples the digital input signals from the> + * display engine on the positive or negative edge of the clock. This > + * should use the DRM_BUS_FLAG_PIXDATA_SAMPLE_[POS|NEG]EDGE and > + * DRM_BUS_FLAG_SYNC_SAMPLE_[POS|NEG]EDGE bitwise flags from the DRM > + * connector (bit 2, 3, 6 and 7 valid). > */ > u32 sampling_edge; > /** > -- Regards -- Kieran