2018-12-20 15:42:18

by Shayenne Moura

[permalink] [raw]
Subject: [PATCH v2 0/7] drm: Remove drm_mode_object dependency from drm_display_mode

This patch serie removes drm_mode_object dependency from
drm_display_mode struct. This is part of KMS cleanup.

Shayenne Moura (7):
drm: msm: Cleanup drm_display_mode print str
drm: omapdrm: Cleanup drm_display_mode print str
drm: meson: Cleanup on drm_display_mode print str
drm: sti: Cleanup drm_display_mode print str
drm: i915: Cleanup drm_display_mode print str
drm: Remove use of drm_mode_object
drm: Complete remove drm_mode_object dependency

drivers/gpu/drm/drm_crtc_helper.c | 5 ++---
drivers/gpu/drm/drm_modes.c | 9 --------
drivers/gpu/drm/i915/i915_debugfs.c | 9 +-------
drivers/gpu/drm/meson/meson_dw_hdmi.c | 12 +++--------
drivers/gpu/drm/msm/disp/mdp4/mdp4_crtc.c | 10 ++-------
.../gpu/drm/msm/disp/mdp4/mdp4_dsi_encoder.c | 9 +-------
.../gpu/drm/msm/disp/mdp4/mdp4_dtv_encoder.c | 9 +-------
.../gpu/drm/msm/disp/mdp4/mdp4_lcdc_encoder.c | 9 +-------
.../gpu/drm/msm/disp/mdp5/mdp5_cmd_encoder.c | 9 +-------
drivers/gpu/drm/msm/disp/mdp5/mdp5_crtc.c | 9 +-------
drivers/gpu/drm/msm/disp/mdp5/mdp5_encoder.c | 9 +-------
drivers/gpu/drm/msm/dsi/dsi_manager.c | 9 +-------
drivers/gpu/drm/msm/edp/edp_bridge.c | 9 +-------
drivers/gpu/drm/omapdrm/omap_connector.c | 9 ++------
drivers/gpu/drm/omapdrm/omap_crtc.c | 8 ++-----
drivers/gpu/drm/sti/sti_crtc.c | 16 ++++----------
include/drm/drm_modes.h | 21 +++----------------
17 files changed, 27 insertions(+), 144 deletions(-)

--
2.17.1



2018-12-20 15:44:54

by Shayenne Moura

[permalink] [raw]
Subject: [PATCH v2 2/7] drm: omapdrm: Cleanup drm_display_mode print str

This patch adjust the print string of drm_display_mode object
to remove drm_mode_object dependency in omapdrm files.

Signed-off-by: Shayenne Moura <[email protected]>
Reviewed-by: Sebastian Reichel <[email protected]>

---
Changes in v2:
- Use DRM_MODE_FMT/ARG macros (Daniel)
- Make the commit message more clear

drivers/gpu/drm/omapdrm/omap_connector.c | 9 ++-------
drivers/gpu/drm/omapdrm/omap_crtc.c | 8 ++------
2 files changed, 4 insertions(+), 13 deletions(-)

diff --git a/drivers/gpu/drm/omapdrm/omap_connector.c b/drivers/gpu/drm/omapdrm/omap_connector.c
index b81302c4bf9e..874d8f3cbff6 100644
--- a/drivers/gpu/drm/omapdrm/omap_connector.c
+++ b/drivers/gpu/drm/omapdrm/omap_connector.c
@@ -305,14 +305,9 @@ static int omap_connector_mode_valid(struct drm_connector *connector,
drm_mode_destroy(dev, new_mode);

done:
- DBG("connector: mode %s: "
- "%d:\"%s\" %d %d %d %d %d %d %d %d %d %d 0x%x 0x%x",
+ DBG("connector: mode %s: " DRM_MODE_FMT,
(ret == MODE_OK) ? "valid" : "invalid",
- mode->base.id, mode->name, mode->vrefresh, mode->clock,
- mode->hdisplay, mode->hsync_start,
- mode->hsync_end, mode->htotal,
- mode->vdisplay, mode->vsync_start,
- mode->vsync_end, mode->vtotal, mode->type, mode->flags);
+ DRM_MODE_ARG(mode));

return ret;
}
diff --git a/drivers/gpu/drm/omapdrm/omap_crtc.c b/drivers/gpu/drm/omapdrm/omap_crtc.c
index caffc547ef97..40acf4ce7c9f 100644
--- a/drivers/gpu/drm/omapdrm/omap_crtc.c
+++ b/drivers/gpu/drm/omapdrm/omap_crtc.c
@@ -427,12 +427,8 @@ static void omap_crtc_mode_set_nofb(struct drm_crtc *crtc)
struct omap_crtc *omap_crtc = to_omap_crtc(crtc);
struct drm_display_mode *mode = &crtc->state->adjusted_mode;

- DBG("%s: set mode: %d:\"%s\" %d %d %d %d %d %d %d %d %d %d 0x%x 0x%x",
- omap_crtc->name, mode->base.id, mode->name,
- mode->vrefresh, mode->clock,
- mode->hdisplay, mode->hsync_start, mode->hsync_end, mode->htotal,
- mode->vdisplay, mode->vsync_start, mode->vsync_end, mode->vtotal,
- mode->type, mode->flags);
+ DBG("%s: set mode: " DRM_MODE_FMT,
+ omap_crtc->name, DRM_MODE_ARG(mode));

drm_display_mode_to_videomode(mode, &omap_crtc->vm);
}
--
2.17.1


2018-12-20 15:45:14

by Shayenne Moura

[permalink] [raw]
Subject: [PATCH v2 4/7] drm: sti: Cleanup drm_display_mode print str

This patch adjust the print string of drm_display_mode object
to remove drm_mode_object dependency in sti files.

Signed-off-by: Shayenne Moura <[email protected]>

---
Changes in v2:
- Use DRM_MODE_FMT/ARG macros (Daniel)
- Make the commit message more clear

drivers/gpu/drm/sti/sti_crtc.c | 16 ++++------------
1 file changed, 4 insertions(+), 12 deletions(-)

diff --git a/drivers/gpu/drm/sti/sti_crtc.c b/drivers/gpu/drm/sti/sti_crtc.c
index ed76e52eb213..ec9f87483e39 100644
--- a/drivers/gpu/drm/sti/sti_crtc.c
+++ b/drivers/gpu/drm/sti/sti_crtc.c
@@ -53,18 +53,10 @@ sti_crtc_mode_set(struct drm_crtc *crtc, struct drm_display_mode *mode)
struct clk *compo_clk, *pix_clk;
int rate = mode->clock * 1000;

- DRM_DEBUG_KMS("CRTC:%d (%s) mode:%d (%s)\n",
- crtc->base.id, sti_mixer_to_str(mixer),
- mode->base.id, mode->name);
-
- DRM_DEBUG_KMS("%d %d %d %d %d %d %d %d %d %d 0x%x 0x%x\n",
- mode->vrefresh, mode->clock,
- mode->hdisplay,
- mode->hsync_start, mode->hsync_end,
- mode->htotal,
- mode->vdisplay,
- mode->vsync_start, mode->vsync_end,
- mode->vtotal, mode->type, mode->flags);
+ DRM_DEBUG_KMS("CRTC:%d (%s) mode: (%s)\n",
+ crtc->base.id, sti_mixer_to_str(mixer), mode->name);
+
+ DRM_DEBUG_KMS(DRM_MODE_FMT "\n", DRM_MODE_ARG(mode));

if (mixer->id == STI_MIXER_MAIN) {
compo_clk = compo->clk_compo_main;
--
2.17.1


2018-12-20 15:48:36

by Shayenne Moura

[permalink] [raw]
Subject: [PATCH v2 5/7] drm: i915: Cleanup drm_display_mode print str

This patch adjust the print string of drm_display_mode object
to remove drm_mode_object dependency in i915 files.
It modifies the print style to standardize the use of DRM_MODE_FMT.

Signed-off-by: Shayenne Moura <[email protected]>
Reviewed-by: Jani Nikula <[email protected]>

---
Changes in v2:
- Use DRM_MODE_FMT/ARG macros (Daniel)
- Make the commit message more clear

drivers/gpu/drm/i915/i915_debugfs.c | 9 +--------
1 file changed, 1 insertion(+), 8 deletions(-)

diff --git a/drivers/gpu/drm/i915/i915_debugfs.c b/drivers/gpu/drm/i915/i915_debugfs.c
index 7f455bca528e..a63d084c8e96 100644
--- a/drivers/gpu/drm/i915/i915_debugfs.c
+++ b/drivers/gpu/drm/i915/i915_debugfs.c
@@ -2948,14 +2948,7 @@ static void intel_seq_print_mode(struct seq_file *m, int tabs,
for (i = 0; i < tabs; i++)
seq_putc(m, '\t');

- seq_printf(m, "id %d:\"%s\" freq %d clock %d hdisp %d hss %d hse %d htot %d vdisp %d vss %d vse %d vtot %d type 0x%x flags 0x%x\n",
- mode->base.id, mode->name,
- mode->vrefresh, mode->clock,
- mode->hdisplay, mode->hsync_start,
- mode->hsync_end, mode->htotal,
- mode->vdisplay, mode->vsync_start,
- mode->vsync_end, mode->vtotal,
- mode->type, mode->flags);
+ seq_printf(m, DRM_MODE_FMT "\n", DRM_MODE_ARG(mode));
}

static void intel_encoder_info(struct seq_file *m,
--
2.17.1


2018-12-20 16:10:15

by Benjamin Gaignard

[permalink] [raw]
Subject: Re: [PATCH v2 4/7] drm: sti: Cleanup drm_display_mode print str

Le jeu. 20 déc. 2018 à 13:27, Shayenne Moura
<[email protected]> a écrit :
>
> This patch adjust the print string of drm_display_mode object
> to remove drm_mode_object dependency in sti files.
>
> Signed-off-by: Shayenne Moura <[email protected]>

Acked-by: Benjamin Gaignard <benjamin;[email protected]>

>
> ---
> Changes in v2:
> - Use DRM_MODE_FMT/ARG macros (Daniel)
> - Make the commit message more clear
>
> drivers/gpu/drm/sti/sti_crtc.c | 16 ++++------------
> 1 file changed, 4 insertions(+), 12 deletions(-)
>
> diff --git a/drivers/gpu/drm/sti/sti_crtc.c b/drivers/gpu/drm/sti/sti_crtc.c
> index ed76e52eb213..ec9f87483e39 100644
> --- a/drivers/gpu/drm/sti/sti_crtc.c
> +++ b/drivers/gpu/drm/sti/sti_crtc.c
> @@ -53,18 +53,10 @@ sti_crtc_mode_set(struct drm_crtc *crtc, struct drm_display_mode *mode)
> struct clk *compo_clk, *pix_clk;
> int rate = mode->clock * 1000;
>
> - DRM_DEBUG_KMS("CRTC:%d (%s) mode:%d (%s)\n",
> - crtc->base.id, sti_mixer_to_str(mixer),
> - mode->base.id, mode->name);
> -
> - DRM_DEBUG_KMS("%d %d %d %d %d %d %d %d %d %d 0x%x 0x%x\n",
> - mode->vrefresh, mode->clock,
> - mode->hdisplay,
> - mode->hsync_start, mode->hsync_end,
> - mode->htotal,
> - mode->vdisplay,
> - mode->vsync_start, mode->vsync_end,
> - mode->vtotal, mode->type, mode->flags);
> + DRM_DEBUG_KMS("CRTC:%d (%s) mode: (%s)\n",
> + crtc->base.id, sti_mixer_to_str(mixer), mode->name);
> +
> + DRM_DEBUG_KMS(DRM_MODE_FMT "\n", DRM_MODE_ARG(mode));
>
> if (mixer->id == STI_MIXER_MAIN) {
> compo_clk = compo->clk_compo_main;
> --
> 2.17.1
>


--
Benjamin Gaignard

Graphic Study Group

Linaro.org │ Open source software for ARM SoCs

Follow Linaro: Facebook | Twitter | Blog

2018-12-20 19:46:54

by Shayenne Moura

[permalink] [raw]
Subject: [PATCH v2 6/7] drm: Remove use of drm_mode_object

This patch removes the drm_mode_object prints, evaluation and use from
drm_display_mode objects used in drm files. It removes dependency from
drm_mode_object.

Signed-off-by: Shayenne Moura <[email protected]>
Reviewed-by: Daniel Vetter <[email protected]>

---
Changes in v2:
- No change

drivers/gpu/drm/drm_crtc_helper.c | 5 ++---
drivers/gpu/drm/drm_modes.c | 9 ---------
2 files changed, 2 insertions(+), 12 deletions(-)

diff --git a/drivers/gpu/drm/drm_crtc_helper.c b/drivers/gpu/drm/drm_crtc_helper.c
index a3c81850e755..cc5cc8d109a2 100644
--- a/drivers/gpu/drm/drm_crtc_helper.c
+++ b/drivers/gpu/drm/drm_crtc_helper.c
@@ -386,9 +386,8 @@ bool drm_crtc_helper_set_mode(struct drm_crtc *crtc,
if (!encoder_funcs)
continue;

- DRM_DEBUG_KMS("[ENCODER:%d:%s] set [MODE:%d:%s]\n",
- encoder->base.id, encoder->name,
- mode->base.id, mode->name);
+ DRM_DEBUG_KMS("[ENCODER:%d:%s] set [MODE:%s]\n",
+ encoder->base.id, encoder->name, mode->name);
if (encoder_funcs->mode_set)
encoder_funcs->mode_set(encoder, mode, adjusted_mode);

diff --git a/drivers/gpu/drm/drm_modes.c b/drivers/gpu/drm/drm_modes.c
index 24a750436559..adce9a26bac9 100644
--- a/drivers/gpu/drm/drm_modes.c
+++ b/drivers/gpu/drm/drm_modes.c
@@ -71,11 +71,6 @@ struct drm_display_mode *drm_mode_create(struct drm_device *dev)
if (!nmode)
return NULL;

- if (drm_mode_object_add(dev, &nmode->base, DRM_MODE_OBJECT_MODE)) {
- kfree(nmode);
- return NULL;
- }
-
return nmode;
}
EXPORT_SYMBOL(drm_mode_create);
@@ -92,8 +87,6 @@ void drm_mode_destroy(struct drm_device *dev, struct drm_display_mode *mode)
if (!mode)
return;

- drm_mode_object_unregister(dev, &mode->base);
-
kfree(mode);
}
EXPORT_SYMBOL(drm_mode_destroy);
@@ -911,11 +904,9 @@ EXPORT_SYMBOL(drm_mode_set_crtcinfo);
*/
void drm_mode_copy(struct drm_display_mode *dst, const struct drm_display_mode *src)
{
- int id = dst->base.id;
struct list_head head = dst->head;

*dst = *src;
- dst->base.id = id;
dst->head = head;
}
EXPORT_SYMBOL(drm_mode_copy);
--
2.17.1


2018-12-20 19:54:31

by Shayenne Moura

[permalink] [raw]
Subject: [PATCH v2 1/7] drm: msm: Cleanup drm_display_mode print str

This patch adjust the print string of drm_display_mode object
to remove drm_mode_object dependency in msm files.

Signed-off-by: Shayenne Moura <[email protected]>

---
Changes in v2:
- Use DRM_MODE_FMT/ARG macros (Daniel).
- Make the commit message more clear

drivers/gpu/drm/msm/disp/mdp4/mdp4_crtc.c | 10 ++--------
drivers/gpu/drm/msm/disp/mdp4/mdp4_dsi_encoder.c | 9 +--------
drivers/gpu/drm/msm/disp/mdp4/mdp4_dtv_encoder.c | 9 +--------
drivers/gpu/drm/msm/disp/mdp4/mdp4_lcdc_encoder.c | 9 +--------
drivers/gpu/drm/msm/disp/mdp5/mdp5_cmd_encoder.c | 9 +--------
drivers/gpu/drm/msm/disp/mdp5/mdp5_crtc.c | 9 +--------
drivers/gpu/drm/msm/disp/mdp5/mdp5_encoder.c | 9 +--------
drivers/gpu/drm/msm/dsi/dsi_manager.c | 9 +--------
drivers/gpu/drm/msm/edp/edp_bridge.c | 9 +--------
9 files changed, 10 insertions(+), 72 deletions(-)

diff --git a/drivers/gpu/drm/msm/disp/mdp4/mdp4_crtc.c b/drivers/gpu/drm/msm/disp/mdp4/mdp4_crtc.c
index 457c29dba4a1..7b028f778960 100644
--- a/drivers/gpu/drm/msm/disp/mdp4/mdp4_crtc.c
+++ b/drivers/gpu/drm/msm/disp/mdp4/mdp4_crtc.c
@@ -244,14 +244,8 @@ static void mdp4_crtc_mode_set_nofb(struct drm_crtc *crtc)

mode = &crtc->state->adjusted_mode;

- DBG("%s: set mode: %d:\"%s\" %d %d %d %d %d %d %d %d %d %d 0x%x 0x%x",
- mdp4_crtc->name, mode->base.id, mode->name,
- mode->vrefresh, mode->clock,
- mode->hdisplay, mode->hsync_start,
- mode->hsync_end, mode->htotal,
- mode->vdisplay, mode->vsync_start,
- mode->vsync_end, mode->vtotal,
- mode->type, mode->flags);
+ DBG("%s: set mode: " DRM_MODE_FMT,
+ mdp4_crtc->name, DRM_MODE_ARG(mode));

mdp4_write(mdp4_kms, REG_MDP4_DMA_SRC_SIZE(dma),
MDP4_DMA_SRC_SIZE_WIDTH(mode->hdisplay) |
diff --git a/drivers/gpu/drm/msm/disp/mdp4/mdp4_dsi_encoder.c b/drivers/gpu/drm/msm/disp/mdp4/mdp4_dsi_encoder.c
index 6a1ebdace391..f2009e317820 100644
--- a/drivers/gpu/drm/msm/disp/mdp4/mdp4_dsi_encoder.c
+++ b/drivers/gpu/drm/msm/disp/mdp4/mdp4_dsi_encoder.c
@@ -58,14 +58,7 @@ static void mdp4_dsi_encoder_mode_set(struct drm_encoder *encoder,

mode = adjusted_mode;

- DBG("set mode: %d:\"%s\" %d %d %d %d %d %d %d %d %d %d 0x%x 0x%x",
- mode->base.id, mode->name,
- mode->vrefresh, mode->clock,
- mode->hdisplay, mode->hsync_start,
- mode->hsync_end, mode->htotal,
- mode->vdisplay, mode->vsync_start,
- mode->vsync_end, mode->vtotal,
- mode->type, mode->flags);
+ DBG("set mode: " DRM_MODE_FMT, DRM_MODE_ARG()):

ctrl_pol = 0;
if (mode->flags & DRM_MODE_FLAG_NHSYNC)
diff --git a/drivers/gpu/drm/msm/disp/mdp4/mdp4_dtv_encoder.c b/drivers/gpu/drm/msm/disp/mdp4/mdp4_dtv_encoder.c
index ba8e587f734b..f6bc86a35d8d 100644
--- a/drivers/gpu/drm/msm/disp/mdp4/mdp4_dtv_encoder.c
+++ b/drivers/gpu/drm/msm/disp/mdp4/mdp4_dtv_encoder.c
@@ -104,14 +104,7 @@ static void mdp4_dtv_encoder_mode_set(struct drm_encoder *encoder,

mode = adjusted_mode;

- DBG("set mode: %d:\"%s\" %d %d %d %d %d %d %d %d %d %d 0x%x 0x%x",
- mode->base.id, mode->name,
- mode->vrefresh, mode->clock,
- mode->hdisplay, mode->hsync_start,
- mode->hsync_end, mode->htotal,
- mode->vdisplay, mode->vsync_start,
- mode->vsync_end, mode->vtotal,
- mode->type, mode->flags);
+ DBG("set mode: " DRM_MODE_FMT, DRM_MODE_ARG(mode));

mdp4_dtv_encoder->pixclock = mode->clock * 1000;

diff --git a/drivers/gpu/drm/msm/disp/mdp4/mdp4_lcdc_encoder.c b/drivers/gpu/drm/msm/disp/mdp4/mdp4_lcdc_encoder.c
index 2bfb39082f54..d47b8f4af991 100644
--- a/drivers/gpu/drm/msm/disp/mdp4/mdp4_lcdc_encoder.c
+++ b/drivers/gpu/drm/msm/disp/mdp4/mdp4_lcdc_encoder.c
@@ -273,14 +273,7 @@ static void mdp4_lcdc_encoder_mode_set(struct drm_encoder *encoder,

mode = adjusted_mode;

- DBG("set mode: %d:\"%s\" %d %d %d %d %d %d %d %d %d %d 0x%x 0x%x",
- mode->base.id, mode->name,
- mode->vrefresh, mode->clock,
- mode->hdisplay, mode->hsync_start,
- mode->hsync_end, mode->htotal,
- mode->vdisplay, mode->vsync_start,
- mode->vsync_end, mode->vtotal,
- mode->type, mode->flags);
+ DBG("set mode: " DRM_MODE_FMT, DRM_MODE_ARG(mode));

mdp4_lcdc_encoder->pixclock = mode->clock * 1000;

diff --git a/drivers/gpu/drm/msm/disp/mdp5/mdp5_cmd_encoder.c b/drivers/gpu/drm/msm/disp/mdp5/mdp5_cmd_encoder.c
index d6f79dc755b4..33972c1816ed 100644
--- a/drivers/gpu/drm/msm/disp/mdp5/mdp5_cmd_encoder.c
+++ b/drivers/gpu/drm/msm/disp/mdp5/mdp5_cmd_encoder.c
@@ -134,14 +134,7 @@ void mdp5_cmd_encoder_mode_set(struct drm_encoder *encoder,
{
mode = adjusted_mode;

- DBG("set mode: %d:\"%s\" %d %d %d %d %d %d %d %d %d %d 0x%x 0x%x",
- mode->base.id, mode->name,
- mode->vrefresh, mode->clock,
- mode->hdisplay, mode->hsync_start,
- mode->hsync_end, mode->htotal,
- mode->vdisplay, mode->vsync_start,
- mode->vsync_end, mode->vtotal,
- mode->type, mode->flags);
+ DBG("set mode: " DRM_MODE_FMT, DRM_MODE_ARG(mode));
pingpong_tearcheck_setup(encoder, mode);
mdp5_crtc_set_pipeline(encoder->crtc);
}
diff --git a/drivers/gpu/drm/msm/disp/mdp5/mdp5_crtc.c b/drivers/gpu/drm/msm/disp/mdp5/mdp5_crtc.c
index b1da9ce54379..66f5402484d4 100644
--- a/drivers/gpu/drm/msm/disp/mdp5/mdp5_crtc.c
+++ b/drivers/gpu/drm/msm/disp/mdp5/mdp5_crtc.c
@@ -384,14 +384,7 @@ static void mdp5_crtc_mode_set_nofb(struct drm_crtc *crtc)

mode = &crtc->state->adjusted_mode;

- DBG("%s: set mode: %d:\"%s\" %d %d %d %d %d %d %d %d %d %d 0x%x 0x%x",
- crtc->name, mode->base.id, mode->name,
- mode->vrefresh, mode->clock,
- mode->hdisplay, mode->hsync_start,
- mode->hsync_end, mode->htotal,
- mode->vdisplay, mode->vsync_start,
- mode->vsync_end, mode->vtotal,
- mode->type, mode->flags);
+ DBG("%s: set mode: " DMR_MODE_FMT, crtc->name, DRM_MODE_ARG(mode));

mixer_width = mode->hdisplay;
if (r_mixer)
diff --git a/drivers/gpu/drm/msm/disp/mdp5/mdp5_encoder.c b/drivers/gpu/drm/msm/disp/mdp5/mdp5_encoder.c
index fcd44d1d1068..d2a56e55e53d 100644
--- a/drivers/gpu/drm/msm/disp/mdp5/mdp5_encoder.c
+++ b/drivers/gpu/drm/msm/disp/mdp5/mdp5_encoder.c
@@ -118,14 +118,7 @@ static void mdp5_vid_encoder_mode_set(struct drm_encoder *encoder,

mode = adjusted_mode;

- DBG("set mode: %d:\"%s\" %d %d %d %d %d %d %d %d %d %d 0x%x 0x%x",
- mode->base.id, mode->name,
- mode->vrefresh, mode->clock,
- mode->hdisplay, mode->hsync_start,
- mode->hsync_end, mode->htotal,
- mode->vdisplay, mode->vsync_start,
- mode->vsync_end, mode->vtotal,
- mode->type, mode->flags);
+ DBG("set mode: " DRM_MODE_FMT, DRM_MODE_ARG(mode));

ctrl_pol = 0;

diff --git a/drivers/gpu/drm/msm/dsi/dsi_manager.c b/drivers/gpu/drm/msm/dsi/dsi_manager.c
index 80aa6344185e..7c8352a8ea97 100644
--- a/drivers/gpu/drm/msm/dsi/dsi_manager.c
+++ b/drivers/gpu/drm/msm/dsi/dsi_manager.c
@@ -536,14 +536,7 @@ static void dsi_mgr_bridge_mode_set(struct drm_bridge *bridge,
struct mipi_dsi_host *host = msm_dsi->host;
bool is_dual_dsi = IS_DUAL_DSI();

- DBG("set mode: %d:\"%s\" %d %d %d %d %d %d %d %d %d %d 0x%x 0x%x",
- mode->base.id, mode->name,
- mode->vrefresh, mode->clock,
- mode->hdisplay, mode->hsync_start,
- mode->hsync_end, mode->htotal,
- mode->vdisplay, mode->vsync_start,
- mode->vsync_end, mode->vtotal,
- mode->type, mode->flags);
+ DBG("set mode: " DRM_MODE_FMT, DRM_MODE_ARG(mode));

if (is_dual_dsi && !IS_MASTER_DSI_LINK(id))
return;
diff --git a/drivers/gpu/drm/msm/edp/edp_bridge.c b/drivers/gpu/drm/msm/edp/edp_bridge.c
index 931a5c97cccf..153f350ce017 100644
--- a/drivers/gpu/drm/msm/edp/edp_bridge.c
+++ b/drivers/gpu/drm/msm/edp/edp_bridge.c
@@ -60,14 +60,7 @@ static void edp_bridge_mode_set(struct drm_bridge *bridge,
struct edp_bridge *edp_bridge = to_edp_bridge(bridge);
struct msm_edp *edp = edp_bridge->edp;

- DBG("set mode: %d:\"%s\" %d %d %d %d %d %d %d %d %d %d 0x%x 0x%x",
- mode->base.id, mode->name,
- mode->vrefresh, mode->clock,
- mode->hdisplay, mode->hsync_start,
- mode->hsync_end, mode->htotal,
- mode->vdisplay, mode->vsync_start,
- mode->vsync_end, mode->vtotal,
- mode->type, mode->flags);
+ DBG("set mode: " DRM_MODE_FMT, DRM_MODE_ARG(mode));

list_for_each_entry(connector, &dev->mode_config.connector_list, head) {
if ((connector->encoder != NULL) &&
--
2.17.1


2018-12-20 19:59:38

by Shayenne Moura

[permalink] [raw]
Subject: [PATCH v2 3/7] drm: meson: Cleanup on drm_display_mode print str

This patch adjust the print string of drm_display_mode object
to remove drm_mode_object dependency in meson files.

Signed-off-by: Shayenne Moura <[email protected]>

---
Changes in v2:
- Use DRM_MODE_FMT/ARG macros (Daniel)
- Make the commit message more clear

drivers/gpu/drm/meson/meson_dw_hdmi.c | 12 +++---------
1 file changed, 3 insertions(+), 9 deletions(-)

diff --git a/drivers/gpu/drm/meson/meson_dw_hdmi.c b/drivers/gpu/drm/meson/meson_dw_hdmi.c
index d8c5cc34e22e..0b6c29cdd934 100644
--- a/drivers/gpu/drm/meson/meson_dw_hdmi.c
+++ b/drivers/gpu/drm/meson/meson_dw_hdmi.c
@@ -365,7 +365,7 @@ static int dw_hdmi_phy_init(struct dw_hdmi *hdmi, void *data,
unsigned int wr_clk =
readl_relaxed(priv->io_base + _REG(VPU_HDMI_SETTING));

- DRM_DEBUG_DRIVER("%d:\"%s\"\n", mode->base.id, mode->name);
+ DRM_DEBUG_DRIVER("\"%s\"\n", mode->name);

/* Enable clocks */
regmap_update_bits(priv->hhi, HHI_HDMI_CLK_CNTL, 0xffff, 0x100);
@@ -555,12 +555,7 @@ dw_hdmi_mode_valid(struct drm_connector *connector,
int vic = drm_match_cea_mode(mode);
enum drm_mode_status status;

- DRM_DEBUG_DRIVER("Modeline %d:\"%s\" %d %d %d %d %d %d %d %d %d %d 0x%x 0x%x\n",
- mode->base.id, mode->name, mode->vrefresh, mode->clock,
- mode->hdisplay, mode->hsync_start,
- mode->hsync_end, mode->htotal,
- mode->vdisplay, mode->vsync_start,
- mode->vsync_end, mode->vtotal, mode->type, mode->flags);
+ DRM_DEBUG_DRIVER("Modeline " DRM_MODE_FMT "\n", DRM_MODE_ARG(mode));

/* Check against non-VIC supported modes */
if (!vic) {
@@ -650,8 +645,7 @@ static void meson_venc_hdmi_encoder_mode_set(struct drm_encoder *encoder,
struct meson_drm *priv = dw_hdmi->priv;
int vic = drm_match_cea_mode(mode);

- DRM_DEBUG_DRIVER("%d:\"%s\" vic %d\n",
- mode->base.id, mode->name, vic);
+ DRM_DEBUG_DRIVER("\"%s\" vic %d\n", mode->name, vic);

/* VENC + VENC-DVI Mode setup */
meson_venc_hdmi_mode_set(priv, vic, mode);
--
2.17.1


2018-12-20 20:00:28

by Shayenne Moura

[permalink] [raw]
Subject: [PATCH v2 7/7] drm: Complete remove drm_mode_object dependency

This patch finalizes the KMS cleanup task dependency from
drm_display_mode. It removes the use of drm_mode_object
from drm_display_mode struct and it removes the use of
base.id and base.type from drm_display_mode struct
print string.

Signed-off-by: Shayenne Moura <[email protected]>
Reviewed-by: Daniel Vetter <[email protected]>

---
Changes in v2:
- Make the commit message more clear

include/drm/drm_modes.h | 21 +++------------------
1 file changed, 3 insertions(+), 18 deletions(-)

diff --git a/include/drm/drm_modes.h b/include/drm/drm_modes.h
index baded6514456..be4fed97e727 100644
--- a/include/drm/drm_modes.h
+++ b/include/drm/drm_modes.h
@@ -136,8 +136,7 @@ enum drm_mode_status {
.hdisplay = (hd), .hsync_start = (hss), .hsync_end = (hse), \
.htotal = (ht), .hskew = (hsk), .vdisplay = (vd), \
.vsync_start = (vss), .vsync_end = (vse), .vtotal = (vt), \
- .vscan = (vs), .flags = (f), \
- .base.type = DRM_MODE_OBJECT_MODE
+ .vscan = (vs), .flags = (f)

#define CRTC_INTERLACE_HALVE_V (1 << 0) /* halve V values for interlacing */
#define CRTC_STEREO_DOUBLE (1 << 1) /* adjust timings for stereo modes */
@@ -213,20 +212,6 @@ struct drm_display_mode {
*/
struct list_head head;

- /**
- * @base:
- *
- * A display mode is a normal modeset object, possibly including public
- * userspace id.
- *
- * FIXME:
- *
- * This can probably be removed since the entire concept of userspace
- * managing modes explicitly has never landed in upstream kernel mode
- * setting support.
- */
- struct drm_mode_object base;
-
/**
* @name:
*
@@ -429,14 +414,14 @@ struct drm_display_mode {
/**
* DRM_MODE_FMT - printf string for &struct drm_display_mode
*/
-#define DRM_MODE_FMT "%d:\"%s\" %d %d %d %d %d %d %d %d %d %d 0x%x 0x%x"
+#define DRM_MODE_FMT "\"%s\": %d %d %d %d %d %d %d %d %d %d 0x%x 0x%x"

/**
* DRM_MODE_ARG - printf arguments for &struct drm_display_mode
* @m: display mode
*/
#define DRM_MODE_ARG(m) \
- (m)->base.id, (m)->name, (m)->vrefresh, (m)->clock, \
+ (m)->name, (m)->vrefresh, (m)->clock, \
(m)->hdisplay, (m)->hsync_start, (m)->hsync_end, (m)->htotal, \
(m)->vdisplay, (m)->vsync_start, (m)->vsync_end, (m)->vtotal, \
(m)->type, (m)->flags
--
2.17.1


2018-12-23 07:00:58

by kernel test robot

[permalink] [raw]
Subject: Re: [PATCH v2 1/7] drm: msm: Cleanup drm_display_mode print str

Hi Shayenne,

Thank you for the patch! Yet something to improve:

[auto build test ERROR on robclark/msm-next]
[also build test ERROR on v4.20-rc7 next-20181221]
[if your patch is applied to the wrong git tree, please drop us a note to help improve the system]

url: https://github.com/0day-ci/linux/commits/Shayenne-Moura/drm-Remove-drm_mode_object-dependency-from-drm_display_mode/20181221-161831
base: git://people.freedesktop.org/~robclark/linux msm-next
config: arm64-defconfig (attached as .config)
compiler: aarch64-linux-gnu-gcc (Debian 7.2.0-11) 7.2.0
reproduce:
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# save the attached .config to linux build tree
GCC_VERSION=7.2.0 make.cross ARCH=arm64

All error/warnings (new ones prefixed by >>):

In file included from include/drm/drm_mm.h:49:0,
from include/drm/drmP.h:72,
from include/drm/drm_modeset_helper.h:26,
from include/drm/drm_crtc_helper.h:44,
from drivers/gpu/drm/msm/disp/mdp5/mdp5_crtc.c:22:
drivers/gpu/drm/msm/disp/mdp5/mdp5_crtc.c: In function 'mdp5_crtc_mode_set_nofb':
>> drivers/gpu/drm/msm/disp/mdp5/mdp5_crtc.c:387:23: error: expected ')' before 'DMR_MODE_FMT'
DBG("%s: set mode: " DMR_MODE_FMT, crtc->name, DRM_MODE_ARG(mode));
^
include/drm/drm_print.h:357:25: note: in definition of macro 'DRM_DEBUG_DRIVER'
drm_dbg(DRM_UT_DRIVER, fmt, ##__VA_ARGS__)
^~~
>> drivers/gpu/drm/msm/disp/mdp5/mdp5_crtc.c:387:2: note: in expansion of macro 'DBG'
DBG("%s: set mode: " DMR_MODE_FMT, crtc->name, DRM_MODE_ARG(mode));
^~~
>> drivers/gpu/drm/msm/disp/mdp5/mdp5_crtc.c:387:6: warning: format '%s' expects a matching 'char *' argument [-Wformat=]
DBG("%s: set mode: " DMR_MODE_FMT, crtc->name, DRM_MODE_ARG(mode));
^
include/drm/drm_print.h:357:25: note: in definition of macro 'DRM_DEBUG_DRIVER'
drm_dbg(DRM_UT_DRIVER, fmt, ##__VA_ARGS__)
^~~
>> drivers/gpu/drm/msm/disp/mdp5/mdp5_crtc.c:387:2: note: in expansion of macro 'DBG'
DBG("%s: set mode: " DMR_MODE_FMT, crtc->name, DRM_MODE_ARG(mode));
^~~
--
In file included from include/drm/drm_crtc.h:40:0,
from drivers/gpu/drm/msm/disp/mdp4/mdp4_dsi_encoder.c:20:
drivers/gpu/drm/msm/disp/mdp4/mdp4_dsi_encoder.c: In function 'mdp4_dsi_encoder_mode_set':
>> include/drm/drm_modes.h:439:4: error: expected expression before ')' token
(m)->base.id, (m)->name, (m)->vrefresh, (m)->clock, \
^
>> include/drm/drm_print.h:357:32: note: in expansion of macro 'DRM_MODE_ARG'
drm_dbg(DRM_UT_DRIVER, fmt, ##__VA_ARGS__)
^~~~~~~~~~~
>> drivers/gpu/drm/msm/msm_drv.h:433:23: note: in expansion of macro 'DRM_DEBUG_DRIVER'
#define DBG(fmt, ...) DRM_DEBUG_DRIVER(fmt"\n", ##__VA_ARGS__)
^~~~~~~~~~~~~~~~
>> drivers/gpu/drm/msm/disp/mdp4/mdp4_dsi_encoder.c:61:2: note: in expansion of macro 'DBG'
DBG("set mode: " DRM_MODE_FMT, DRM_MODE_ARG()):
^~~

vim +387 drivers/gpu/drm/msm/disp/mdp5/mdp5_crtc.c

369
370 static void mdp5_crtc_mode_set_nofb(struct drm_crtc *crtc)
371 {
372 struct mdp5_crtc *mdp5_crtc = to_mdp5_crtc(crtc);
373 struct mdp5_crtc_state *mdp5_cstate = to_mdp5_crtc_state(crtc->state);
374 struct mdp5_kms *mdp5_kms = get_kms(crtc);
375 struct mdp5_hw_mixer *mixer = mdp5_cstate->pipeline.mixer;
376 struct mdp5_hw_mixer *r_mixer = mdp5_cstate->pipeline.r_mixer;
377 uint32_t lm = mixer->lm;
378 u32 mixer_width, val;
379 unsigned long flags;
380 struct drm_display_mode *mode;
381
382 if (WARN_ON(!crtc->state))
383 return;
384
385 mode = &crtc->state->adjusted_mode;
386
> 387 DBG("%s: set mode: " DMR_MODE_FMT, crtc->name, DRM_MODE_ARG(mode));
388
389 mixer_width = mode->hdisplay;
390 if (r_mixer)
391 mixer_width /= 2;
392
393 spin_lock_irqsave(&mdp5_crtc->lm_lock, flags);
394 mdp5_write(mdp5_kms, REG_MDP5_LM_OUT_SIZE(lm),
395 MDP5_LM_OUT_SIZE_WIDTH(mixer_width) |
396 MDP5_LM_OUT_SIZE_HEIGHT(mode->vdisplay));
397
398 /* Assign mixer to LEFT side in source split mode */
399 val = mdp5_read(mdp5_kms, REG_MDP5_LM_BLEND_COLOR_OUT(lm));
400 val &= ~MDP5_LM_BLEND_COLOR_OUT_SPLIT_LEFT_RIGHT;
401 mdp5_write(mdp5_kms, REG_MDP5_LM_BLEND_COLOR_OUT(lm), val);
402
403 if (r_mixer) {
404 u32 r_lm = r_mixer->lm;
405
406 mdp5_write(mdp5_kms, REG_MDP5_LM_OUT_SIZE(r_lm),
407 MDP5_LM_OUT_SIZE_WIDTH(mixer_width) |
408 MDP5_LM_OUT_SIZE_HEIGHT(mode->vdisplay));
409
410 /* Assign mixer to RIGHT side in source split mode */
411 val = mdp5_read(mdp5_kms, REG_MDP5_LM_BLEND_COLOR_OUT(r_lm));
412 val |= MDP5_LM_BLEND_COLOR_OUT_SPLIT_LEFT_RIGHT;
413 mdp5_write(mdp5_kms, REG_MDP5_LM_BLEND_COLOR_OUT(r_lm), val);
414 }
415
416 spin_unlock_irqrestore(&mdp5_crtc->lm_lock, flags);
417 }
418

---
0-DAY kernel test infrastructure Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all Intel Corporation


Attachments:
(No filename) (5.33 kB)
.config.gz (39.99 kB)
Download all attachments

2019-01-09 21:25:14

by Daniel Vetter

[permalink] [raw]
Subject: Re: [PATCH v2 0/7] drm: Remove drm_mode_object dependency from drm_display_mode

On Thu, Dec 20, 2018 at 10:24:27AM -0200, Shayenne Moura wrote:
> This patch serie removes drm_mode_object dependency from
> drm_display_mode struct. This is part of KMS cleanup.
>
> Shayenne Moura (7):
> drm: msm: Cleanup drm_display_mode print str
> drm: omapdrm: Cleanup drm_display_mode print str
> drm: meson: Cleanup on drm_display_mode print str
> drm: sti: Cleanup drm_display_mode print str
> drm: i915: Cleanup drm_display_mode print str
> drm: Remove use of drm_mode_object
> drm: Complete remove drm_mode_object dependency

Ok, merged patches 2-5 to drm-misc-next. Sorry for the delay, caught a
cold and was out of service past few days :-/

Can you pls fix the compile issue in the msm patch? Looks like that wasn't
properly compile-tested. For a howto, see:

https://blog.ffwll.ch/2016/02/arm-kernel-cross-compiling.html

and make sure MSM is enabled in the .config. You can configure the
cross-compiled kernel with e.g.

make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- menuconfig

Thanks, Daniel
>
> drivers/gpu/drm/drm_crtc_helper.c | 5 ++---
> drivers/gpu/drm/drm_modes.c | 9 --------
> drivers/gpu/drm/i915/i915_debugfs.c | 9 +-------
> drivers/gpu/drm/meson/meson_dw_hdmi.c | 12 +++--------
> drivers/gpu/drm/msm/disp/mdp4/mdp4_crtc.c | 10 ++-------
> .../gpu/drm/msm/disp/mdp4/mdp4_dsi_encoder.c | 9 +-------
> .../gpu/drm/msm/disp/mdp4/mdp4_dtv_encoder.c | 9 +-------
> .../gpu/drm/msm/disp/mdp4/mdp4_lcdc_encoder.c | 9 +-------
> .../gpu/drm/msm/disp/mdp5/mdp5_cmd_encoder.c | 9 +-------
> drivers/gpu/drm/msm/disp/mdp5/mdp5_crtc.c | 9 +-------
> drivers/gpu/drm/msm/disp/mdp5/mdp5_encoder.c | 9 +-------
> drivers/gpu/drm/msm/dsi/dsi_manager.c | 9 +-------
> drivers/gpu/drm/msm/edp/edp_bridge.c | 9 +-------
> drivers/gpu/drm/omapdrm/omap_connector.c | 9 ++------
> drivers/gpu/drm/omapdrm/omap_crtc.c | 8 ++-----
> drivers/gpu/drm/sti/sti_crtc.c | 16 ++++----------
> include/drm/drm_modes.h | 21 +++----------------
> 17 files changed, 27 insertions(+), 144 deletions(-)
>
> --
> 2.17.1
>
> _______________________________________________
> dri-devel mailing list
> [email protected]
> https://lists.freedesktop.org/mailman/listinfo/dri-devel

--
Daniel Vetter
Software Engineer, Intel Corporation
http://blog.ffwll.ch