2020-01-14 09:53:03

by Wambui Karuga

[permalink] [raw]
Subject: [PATCH 0/5] drm/i915: conversion to new drm logging macros.

This series continues the conversion to the new struct drm_device based
logging macros in drm/i915. These patches were mostly achieved using
coccinelle:
@rule1@
identifier fn, T;
@@

fn(struct drm_i915_private *T,...) {
<+...
(
-DRM_INFO(
+drm_info(&T->drm,
...)
|
-DRM_ERROR(
+drm_err(&T->drm,
...)
|
-DRM_WARN(
+drm_warn(&T->drm,
...)
|
-DRM_DEBUG(
+drm_dbg(&T->drm,
...)
|
-DRM_DEBUG_DRIVER(
+drm_dbg(&T->drm,
...)
|
-DRM_DEBUG_KMS(
+drm_dbg_kms(&T->drm,
...)
)
...+>
}

@rule2@
identifier fn, T;
@@

fn(...) {
...
struct drm_i915_private *T = ...;
<+...
(
-DRM_INFO(
+drm_info(&T->drm,
...)
|
-DRM_ERROR(
+drm_err(&T->drm,
...)
|
-DRM_WARN(
+drm_warn(&T->drm,
...)
|
-DRM_DEBUG(
+drm_dbg(&T->drm,
...)
|
-DRM_DEBUG_KMS(
+drm_dbg_kms(&T->drm,
...)
|
-DRM_DEBUG_DRIVER(
+drm_dbg(&T->drm,
...)
)
...+>
}

Wambui Karuga (5):
drm/i915/atomic: use new logging macros for debug
drm/i915/audio: convert to new drm logging macros.
drm/i915/bios: convert to new drm logging macros.
drm/i915/bw: convert to new drm_device based logging macros.
drm/i915/cdclk: use new drm logging macros.

drivers/gpu/drm/i915/display/intel_atomic_plane.c | 9 +-
drivers/gpu/drm/i915/display/intel_audio.c | 71 ++--
drivers/gpu/drm/i915/display/intel_bios.c | 357 +++++++++++-------
drivers/gpu/drm/i915/display/intel_bw.c | 29 +-
drivers/gpu/drm/i915/display/intel_cdclk.c | 109 +++---
5 files changed, 337 insertions(+), 238 deletions(-)

--
2.24.1


2020-01-14 09:53:04

by Wambui Karuga

[permalink] [raw]
Subject: [PATCH 1/5] drm/i915/atomic: use new logging macros for debug

Convert to the new struct drm_based logging macros to replace the printk
based macros in i915/display/intel_atomic_plane.c.

Signed-off-by: Wambui Karuga <[email protected]>
---
drivers/gpu/drm/i915/display/intel_atomic_plane.c | 9 +++++----
1 file changed, 5 insertions(+), 4 deletions(-)

diff --git a/drivers/gpu/drm/i915/display/intel_atomic_plane.c b/drivers/gpu/drm/i915/display/intel_atomic_plane.c
index 3e97af682b1b..8cbb29a860a3 100644
--- a/drivers/gpu/drm/i915/display/intel_atomic_plane.c
+++ b/drivers/gpu/drm/i915/display/intel_atomic_plane.c
@@ -183,10 +183,11 @@ bool intel_plane_calc_min_cdclk(struct intel_atomic_state *state,
* must be true since we have crtc_state).
*/
if (crtc_state->min_cdclk[plane->id] > dev_priv->cdclk.logical.cdclk) {
- DRM_DEBUG_KMS("[PLANE:%d:%s] min_cdclk (%d kHz) > logical cdclk (%d kHz)\n",
- plane->base.base.id, plane->base.name,
- crtc_state->min_cdclk[plane->id],
- dev_priv->cdclk.logical.cdclk);
+ drm_dbg_kms(&dev_priv->drm,
+ "[PLANE:%d:%s] min_cdclk (%d kHz) > logical cdclk (%d kHz)\n",
+ plane->base.base.id, plane->base.name,
+ crtc_state->min_cdclk[plane->id],
+ dev_priv->cdclk.logical.cdclk);
return true;
}

--
2.24.1

2020-01-14 09:53:10

by Wambui Karuga

[permalink] [raw]
Subject: [PATCH 2/5] drm/i915/audio: convert to new drm logging macros.

Converts the printk based logging macros in i915/display/intel_audio.c
to the struct drm_device based logging macros.
This transformation was achieved using the following coccinelle script
that matches the existence of the struct drm_i915_private device:

@rule1@
identifier fn, T;
@@

fn(struct drm_i915_private *T,...) {
<+...
(
-DRM_INFO(
+drm_info(&T->drm,
...)
|
-DRM_ERROR(
+drm_err(&T->drm,
...)
|
-DRM_WARN(
+drm_warn(&T->drm,
...)
|
-DRM_DEBUG(
+drm_dbg(&T->drm,
...)
|
-DRM_DEBUG_DRIVER(
+drm_dbg(&T->drm,
...)
|
-DRM_DEBUG_KMS(
+drm_dbg_kms(&T->drm,
...)
)
...+>
}

@rule2@
identifier fn, T;
@@

fn(...) {
...
struct drm_i915_private *T = ...;
<+...
(
-DRM_INFO(
+drm_info(&T->drm,
...)
|
-DRM_ERROR(
+drm_err(&T->drm,
...)
|
-DRM_WARN(
+drm_warn(&T->drm,
...)
|
-DRM_DEBUG(
+drm_dbg(&T->drm,
...)
|
-DRM_DEBUG_KMS(
+drm_dbg_kms(&T->drm,
...)
|
-DRM_DEBUG_DRIVER(
+drm_dbg(&T->drm,
...)
)
...+>
}

Checkpatch warnings were manually fixed.

Signed-off-by: Wambui Karuga <[email protected]>
---
drivers/gpu/drm/i915/display/intel_audio.c | 71 ++++++++++++----------
1 file changed, 40 insertions(+), 31 deletions(-)

diff --git a/drivers/gpu/drm/i915/display/intel_audio.c b/drivers/gpu/drm/i915/display/intel_audio.c
index e406719a6716..57208440bf6d 100644
--- a/drivers/gpu/drm/i915/display/intel_audio.c
+++ b/drivers/gpu/drm/i915/display/intel_audio.c
@@ -315,7 +315,7 @@ static void g4x_audio_codec_disable(struct intel_encoder *encoder,
struct drm_i915_private *dev_priv = to_i915(encoder->base.dev);
u32 eldv, tmp;

- DRM_DEBUG_KMS("Disable audio codec\n");
+ drm_dbg_kms(&dev_priv->drm, "Disable audio codec\n");

tmp = I915_READ(G4X_AUD_VID_DID);
if (tmp == INTEL_AUDIO_DEVBLC || tmp == INTEL_AUDIO_DEVCL)
@@ -340,7 +340,8 @@ static void g4x_audio_codec_enable(struct intel_encoder *encoder,
u32 tmp;
int len, i;

- DRM_DEBUG_KMS("Enable audio codec, %u bytes ELD\n", drm_eld_size(eld));
+ drm_dbg_kms(&dev_priv->drm, "Enable audio codec, %u bytes ELD\n",
+ drm_eld_size(eld));

tmp = I915_READ(G4X_AUD_VID_DID);
if (tmp == INTEL_AUDIO_DEVBLC || tmp == INTEL_AUDIO_DEVCL)
@@ -360,7 +361,7 @@ static void g4x_audio_codec_enable(struct intel_encoder *encoder,
I915_WRITE(G4X_AUD_CNTL_ST, tmp);

len = min(drm_eld_size(eld) / 4, len);
- DRM_DEBUG_DRIVER("ELD size %d\n", len);
+ drm_dbg(&dev_priv->drm, "ELD size %d\n", len);
for (i = 0; i < len; i++)
I915_WRITE(G4X_HDMIW_HDMIEDID, *((const u32 *)eld + i));

@@ -384,9 +385,10 @@ hsw_dp_audio_config_update(struct intel_encoder *encoder,
rate = acomp ? acomp->aud_sample_rate[port] : 0;
nm = audio_config_dp_get_n_m(crtc_state, rate);
if (nm)
- DRM_DEBUG_KMS("using Maud %u, Naud %u\n", nm->m, nm->n);
+ drm_dbg_kms(&dev_priv->drm, "using Maud %u, Naud %u\n", nm->m,
+ nm->n);
else
- DRM_DEBUG_KMS("using automatic Maud, Naud\n");
+ drm_dbg_kms(&dev_priv->drm, "using automatic Maud, Naud\n");

tmp = I915_READ(HSW_AUD_CFG(cpu_transcoder));
tmp &= ~AUD_CONFIG_N_VALUE_INDEX;
@@ -437,13 +439,13 @@ hsw_hdmi_audio_config_update(struct intel_encoder *encoder,

n = audio_config_hdmi_get_n(crtc_state, rate);
if (n != 0) {
- DRM_DEBUG_KMS("using N %d\n", n);
+ drm_dbg_kms(&dev_priv->drm, "using N %d\n", n);

tmp &= ~AUD_CONFIG_N_MASK;
tmp |= AUD_CONFIG_N(n);
tmp |= AUD_CONFIG_N_PROG_ENABLE;
} else {
- DRM_DEBUG_KMS("using automatic N\n");
+ drm_dbg_kms(&dev_priv->drm, "using automatic N\n");
}

I915_WRITE(HSW_AUD_CFG(cpu_transcoder), tmp);
@@ -476,8 +478,8 @@ static void hsw_audio_codec_disable(struct intel_encoder *encoder,
enum transcoder cpu_transcoder = old_crtc_state->cpu_transcoder;
u32 tmp;

- DRM_DEBUG_KMS("Disable audio codec on transcoder %s\n",
- transcoder_name(cpu_transcoder));
+ drm_dbg_kms(&dev_priv->drm, "Disable audio codec on transcoder %s\n",
+ transcoder_name(cpu_transcoder));

mutex_lock(&dev_priv->av_mutex);

@@ -511,8 +513,9 @@ static void hsw_audio_codec_enable(struct intel_encoder *encoder,
u32 tmp;
int len, i;

- DRM_DEBUG_KMS("Enable audio codec on transcoder %s, %u bytes ELD\n",
- transcoder_name(cpu_transcoder), drm_eld_size(eld));
+ drm_dbg_kms(&dev_priv->drm,
+ "Enable audio codec on transcoder %s, %u bytes ELD\n",
+ transcoder_name(cpu_transcoder), drm_eld_size(eld));

mutex_lock(&dev_priv->av_mutex);

@@ -561,9 +564,10 @@ static void ilk_audio_codec_disable(struct intel_encoder *encoder,
u32 tmp, eldv;
i915_reg_t aud_config, aud_cntrl_st2;

- DRM_DEBUG_KMS("Disable audio codec on [ENCODER:%d:%s], pipe %c\n",
- encoder->base.base.id, encoder->base.name,
- pipe_name(pipe));
+ drm_dbg_kms(&dev_priv->drm,
+ "Disable audio codec on [ENCODER:%d:%s], pipe %c\n",
+ encoder->base.base.id, encoder->base.name,
+ pipe_name(pipe));

if (WARN_ON(port == PORT_A))
return;
@@ -611,9 +615,10 @@ static void ilk_audio_codec_enable(struct intel_encoder *encoder,
int len, i;
i915_reg_t hdmiw_hdmiedid, aud_config, aud_cntl_st, aud_cntrl_st2;

- DRM_DEBUG_KMS("Enable audio codec on [ENCODER:%d:%s], pipe %c, %u bytes ELD\n",
- encoder->base.base.id, encoder->base.name,
- pipe_name(pipe), drm_eld_size(eld));
+ drm_dbg_kms(&dev_priv->drm,
+ "Enable audio codec on [ENCODER:%d:%s], pipe %c, %u bytes ELD\n",
+ encoder->base.base.id, encoder->base.name,
+ pipe_name(pipe), drm_eld_size(eld));

if (WARN_ON(port == PORT_A))
return;
@@ -701,14 +706,13 @@ void intel_audio_codec_enable(struct intel_encoder *encoder,

/* FIXME precompute the ELD in .compute_config() */
if (!connector->eld[0])
- DRM_DEBUG_KMS("Bogus ELD on [CONNECTOR:%d:%s]\n",
- connector->base.id, connector->name);
+ drm_dbg_kms(&dev_priv->drm,
+ "Bogus ELD on [CONNECTOR:%d:%s]\n",
+ connector->base.id, connector->name);

- DRM_DEBUG_DRIVER("ELD on [CONNECTOR:%d:%s], [ENCODER:%d:%s]\n",
- connector->base.id,
- connector->name,
- connector->encoder->base.id,
- connector->encoder->name);
+ drm_dbg(&dev_priv->drm, "ELD on [CONNECTOR:%d:%s], [ENCODER:%d:%s]\n",
+ connector->base.id, connector->name,
+ connector->encoder->base.id, connector->encoder->name);

connector->eld[6] = drm_av_sync_delay(connector, adjusted_mode) / 2;

@@ -851,8 +855,9 @@ static unsigned long i915_audio_component_get_power(struct device *kdev)
if (dev_priv->audio_power_refcount++ == 0) {
if (IS_TIGERLAKE(dev_priv) || IS_ICELAKE(dev_priv)) {
I915_WRITE(AUD_FREQ_CNTRL, dev_priv->audio_freq_cntrl);
- DRM_DEBUG_KMS("restored AUD_FREQ_CNTRL to 0x%x\n",
- dev_priv->audio_freq_cntrl);
+ drm_dbg_kms(&dev_priv->drm,
+ "restored AUD_FREQ_CNTRL to 0x%x\n",
+ dev_priv->audio_freq_cntrl);
}

/* Force CDCLK to 2*BCLK as long as we need audio powered. */
@@ -992,7 +997,8 @@ static int i915_audio_component_sync_audio_rate(struct device *kdev, int port,
/* 1. get the pipe */
encoder = get_saved_enc(dev_priv, port, pipe);
if (!encoder || !encoder->base.crtc) {
- DRM_DEBUG_KMS("Not valid for port %c\n", port_name(port));
+ drm_dbg_kms(&dev_priv->drm, "Not valid for port %c\n",
+ port_name(port));
err = -ENODEV;
goto unlock;
}
@@ -1023,7 +1029,8 @@ static int i915_audio_component_get_eld(struct device *kdev, int port,

intel_encoder = get_saved_enc(dev_priv, port, pipe);
if (!intel_encoder) {
- DRM_DEBUG_KMS("Not valid for port %c\n", port_name(port));
+ drm_dbg_kms(&dev_priv->drm, "Not valid for port %c\n",
+ port_name(port));
mutex_unlock(&dev_priv->av_mutex);
return ret;
}
@@ -1119,15 +1126,17 @@ static void i915_audio_component_init(struct drm_i915_private *dev_priv)
&i915_audio_component_bind_ops,
I915_COMPONENT_AUDIO);
if (ret < 0) {
- DRM_ERROR("failed to add audio component (%d)\n", ret);
+ drm_err(&dev_priv->drm,
+ "failed to add audio component (%d)\n", ret);
/* continue with reduced functionality */
return;
}

if (IS_TIGERLAKE(dev_priv) || IS_ICELAKE(dev_priv)) {
dev_priv->audio_freq_cntrl = I915_READ(AUD_FREQ_CNTRL);
- DRM_DEBUG_KMS("init value of AUD_FREQ_CNTRL of 0x%x\n",
- dev_priv->audio_freq_cntrl);
+ drm_dbg_kms(&dev_priv->drm,
+ "init value of AUD_FREQ_CNTRL of 0x%x\n",
+ dev_priv->audio_freq_cntrl);
}

dev_priv->audio_component_registered = true;
--
2.24.1

2020-01-14 09:53:21

by Wambui Karuga

[permalink] [raw]
Subject: [PATCH 3/5] drm/i915/bios: convert to new drm logging macros.

This replaces the printk based logging macros with the struct drm_device
based logging macros.
This conversion was achieved using the following coccinelle script that
transforms based on the existence of a struct drm_i915_private device:
@rule1@
identifier fn, T;
@@

fn(struct drm_i915_private *T,...) {
<+...
(
-DRM_INFO(
+drm_info(&T->drm,
...)
|
-DRM_ERROR(
+drm_err(&T->drm,
...)
|
-DRM_WARN(
+drm_warn(&T->drm,
...)
|
-DRM_DEBUG(
+drm_dbg(&T->drm,
...)
|
-DRM_DEBUG_DRIVER(
+drm_dbg(&T->drm,
...)
|
-DRM_DEBUG_KMS(
+drm_dbg_kms(&T->drm,
...)
)
...+>
}

@rule2@
identifier fn, T;
@@

fn(...) {
...
struct drm_i915_private *T = ...;
<+...
(
-DRM_INFO(
+drm_info(&T->drm,
...)
|
-DRM_ERROR(
+drm_err(&T->drm,
...)
|
-DRM_WARN(
+drm_warn(&T->drm,
...)
|
-DRM_DEBUG(
+drm_dbg(&T->drm,
...)
|
-DRM_DEBUG_KMS(
+drm_dbg_kms(&T->drm,
...)
|
-DRM_DEBUG_DRIVER(
+drm_dbg(&T->drm,
...)
)
...+>
}

Formatting warnings by checkpatch are addressed manually.

Signed-off-by: Wambui Karuga <[email protected]>
---
drivers/gpu/drm/i915/display/intel_bios.c | 357 +++++++++++++---------
1 file changed, 211 insertions(+), 146 deletions(-)

diff --git a/drivers/gpu/drm/i915/display/intel_bios.c b/drivers/gpu/drm/i915/display/intel_bios.c
index 8beac06e3f10..0bfc59639db8 100644
--- a/drivers/gpu/drm/i915/display/intel_bios.c
+++ b/drivers/gpu/drm/i915/display/intel_bios.c
@@ -230,15 +230,18 @@ parse_panel_options(struct drm_i915_private *dev_priv,
if (ret >= 0) {
WARN_ON(ret > 0xf);
panel_type = ret;
- DRM_DEBUG_KMS("Panel type: %d (OpRegion)\n", panel_type);
+ drm_dbg_kms(&dev_priv->drm, "Panel type: %d (OpRegion)\n",
+ panel_type);
} else {
if (lvds_options->panel_type > 0xf) {
- DRM_DEBUG_KMS("Invalid VBT panel type 0x%x\n",
- lvds_options->panel_type);
+ drm_dbg_kms(&dev_priv->drm,
+ "Invalid VBT panel type 0x%x\n",
+ lvds_options->panel_type);
return;
}
panel_type = lvds_options->panel_type;
- DRM_DEBUG_KMS("Panel type: %d (VBT)\n", panel_type);
+ drm_dbg_kms(&dev_priv->drm, "Panel type: %d (VBT)\n",
+ panel_type);
}

dev_priv->vbt.panel_type = panel_type;
@@ -253,15 +256,17 @@ parse_panel_options(struct drm_i915_private *dev_priv,
switch (drrs_mode) {
case 0:
dev_priv->vbt.drrs_type = STATIC_DRRS_SUPPORT;
- DRM_DEBUG_KMS("DRRS supported mode is static\n");
+ drm_dbg_kms(&dev_priv->drm, "DRRS supported mode is static\n");
break;
case 2:
dev_priv->vbt.drrs_type = SEAMLESS_DRRS_SUPPORT;
- DRM_DEBUG_KMS("DRRS supported mode is seamless\n");
+ drm_dbg_kms(&dev_priv->drm,
+ "DRRS supported mode is seamless\n");
break;
default:
dev_priv->vbt.drrs_type = DRRS_NOT_SUPPORTED;
- DRM_DEBUG_KMS("DRRS not supported (VBT input)\n");
+ drm_dbg_kms(&dev_priv->drm,
+ "DRRS not supported (VBT input)\n");
break;
}
}
@@ -298,7 +303,8 @@ parse_lfp_panel_dtd(struct drm_i915_private *dev_priv,

dev_priv->vbt.lfp_lvds_vbt_mode = panel_fixed_mode;

- DRM_DEBUG_KMS("Found panel mode in BIOS VBT legacy lfp table:\n");
+ drm_dbg_kms(&dev_priv->drm,
+ "Found panel mode in BIOS VBT legacy lfp table:\n");
drm_mode_debug_printmodeline(panel_fixed_mode);

fp_timing = get_lvds_fp_timing(bdb, lvds_lfp_data,
@@ -309,8 +315,9 @@ parse_lfp_panel_dtd(struct drm_i915_private *dev_priv,
if (fp_timing->x_res == panel_fixed_mode->hdisplay &&
fp_timing->y_res == panel_fixed_mode->vdisplay) {
dev_priv->vbt.bios_lvds_val = fp_timing->lvds_reg_val;
- DRM_DEBUG_KMS("VBT initial LVDS value %x\n",
- dev_priv->vbt.bios_lvds_val);
+ drm_dbg_kms(&dev_priv->drm,
+ "VBT initial LVDS value %x\n",
+ dev_priv->vbt.bios_lvds_val);
}
}
}
@@ -329,20 +336,22 @@ parse_generic_dtd(struct drm_i915_private *dev_priv,
return;

if (generic_dtd->gdtd_size < sizeof(struct generic_dtd_entry)) {
- DRM_ERROR("GDTD size %u is too small.\n",
- generic_dtd->gdtd_size);
+ drm_err(&dev_priv->drm, "GDTD size %u is too small.\n",
+ generic_dtd->gdtd_size);
return;
} else if (generic_dtd->gdtd_size !=
sizeof(struct generic_dtd_entry)) {
- DRM_ERROR("Unexpected GDTD size %u\n", generic_dtd->gdtd_size);
+ drm_err(&dev_priv->drm, "Unexpected GDTD size %u\n",
+ generic_dtd->gdtd_size);
/* DTD has unknown fields, but keep going */
}

num_dtd = (get_blocksize(generic_dtd) -
sizeof(struct bdb_generic_dtd)) / generic_dtd->gdtd_size;
if (dev_priv->vbt.panel_type >= num_dtd) {
- DRM_ERROR("Panel type %d not found in table of %d DTD's\n",
- dev_priv->vbt.panel_type, num_dtd);
+ drm_err(&dev_priv->drm,
+ "Panel type %d not found in table of %d DTD's\n",
+ dev_priv->vbt.panel_type, num_dtd);
return;
}

@@ -383,7 +392,8 @@ parse_generic_dtd(struct drm_i915_private *dev_priv,
else
panel_fixed_mode->flags |= DRM_MODE_FLAG_NVSYNC;

- DRM_DEBUG_KMS("Found panel mode in BIOS VBT generic dtd table:\n");
+ drm_dbg_kms(&dev_priv->drm,
+ "Found panel mode in BIOS VBT generic dtd table:\n");
drm_mode_debug_printmodeline(panel_fixed_mode);

dev_priv->vbt.lfp_lvds_vbt_mode = panel_fixed_mode;
@@ -420,8 +430,9 @@ parse_lfp_backlight(struct drm_i915_private *dev_priv,
return;

if (backlight_data->entry_size != sizeof(backlight_data->data[0])) {
- DRM_DEBUG_KMS("Unsupported backlight data entry size %u\n",
- backlight_data->entry_size);
+ drm_dbg_kms(&dev_priv->drm,
+ "Unsupported backlight data entry size %u\n",
+ backlight_data->entry_size);
return;
}

@@ -429,8 +440,9 @@ parse_lfp_backlight(struct drm_i915_private *dev_priv,

dev_priv->vbt.backlight.present = entry->type == BDB_BACKLIGHT_TYPE_PWM;
if (!dev_priv->vbt.backlight.present) {
- DRM_DEBUG_KMS("PWM backlight not present in VBT (type %u)\n",
- entry->type);
+ drm_dbg_kms(&dev_priv->drm,
+ "PWM backlight not present in VBT (type %u)\n",
+ entry->type);
return;
}

@@ -447,13 +459,14 @@ parse_lfp_backlight(struct drm_i915_private *dev_priv,
dev_priv->vbt.backlight.pwm_freq_hz = entry->pwm_freq_hz;
dev_priv->vbt.backlight.active_low_pwm = entry->active_low_pwm;
dev_priv->vbt.backlight.min_brightness = entry->min_brightness;
- DRM_DEBUG_KMS("VBT backlight PWM modulation frequency %u Hz, "
- "active %s, min brightness %u, level %u, controller %u\n",
- dev_priv->vbt.backlight.pwm_freq_hz,
- dev_priv->vbt.backlight.active_low_pwm ? "low" : "high",
- dev_priv->vbt.backlight.min_brightness,
- backlight_data->level[panel_type],
- dev_priv->vbt.backlight.controller);
+ drm_dbg_kms(&dev_priv->drm,
+ "VBT backlight PWM modulation frequency %u Hz, "
+ "active %s, min brightness %u, level %u, controller %u\n",
+ dev_priv->vbt.backlight.pwm_freq_hz,
+ dev_priv->vbt.backlight.active_low_pwm ? "low" : "high",
+ dev_priv->vbt.backlight.min_brightness,
+ backlight_data->level[panel_type],
+ dev_priv->vbt.backlight.controller);
}

/* Try to find sdvo panel data */
@@ -467,7 +480,8 @@ parse_sdvo_panel_data(struct drm_i915_private *dev_priv,

index = i915_modparams.vbt_sdvo_panel_type;
if (index == -2) {
- DRM_DEBUG_KMS("Ignore SDVO panel mode from BIOS VBT tables.\n");
+ drm_dbg_kms(&dev_priv->drm,
+ "Ignore SDVO panel mode from BIOS VBT tables.\n");
return;
}

@@ -493,7 +507,8 @@ parse_sdvo_panel_data(struct drm_i915_private *dev_priv,

dev_priv->vbt.sdvo_lvds_vbt_mode = panel_fixed_mode;

- DRM_DEBUG_KMS("Found SDVO panel mode in BIOS VBT tables:\n");
+ drm_dbg_kms(&dev_priv->drm,
+ "Found SDVO panel mode in BIOS VBT tables:\n");
drm_mode_debug_printmodeline(panel_fixed_mode);
}

@@ -538,13 +553,14 @@ parse_general_features(struct drm_i915_private *dev_priv,
} else {
dev_priv->vbt.orientation = DRM_MODE_PANEL_ORIENTATION_UNKNOWN;
}
- DRM_DEBUG_KMS("BDB_GENERAL_FEATURES int_tv_support %d int_crt_support %d lvds_use_ssc %d lvds_ssc_freq %d display_clock_mode %d fdi_rx_polarity_inverted %d\n",
- dev_priv->vbt.int_tv_support,
- dev_priv->vbt.int_crt_support,
- dev_priv->vbt.lvds_use_ssc,
- dev_priv->vbt.lvds_ssc_freq,
- dev_priv->vbt.display_clock_mode,
- dev_priv->vbt.fdi_rx_polarity_inverted);
+ drm_dbg_kms(&dev_priv->drm,
+ "BDB_GENERAL_FEATURES int_tv_support %d int_crt_support %d lvds_use_ssc %d lvds_ssc_freq %d display_clock_mode %d fdi_rx_polarity_inverted %d\n",
+ dev_priv->vbt.int_tv_support,
+ dev_priv->vbt.int_crt_support,
+ dev_priv->vbt.lvds_use_ssc,
+ dev_priv->vbt.lvds_ssc_freq,
+ dev_priv->vbt.display_clock_mode,
+ dev_priv->vbt.fdi_rx_polarity_inverted);
}

static const struct child_device_config *
@@ -566,7 +582,7 @@ parse_sdvo_device_mapping(struct drm_i915_private *dev_priv, u8 bdb_version)
* accurate and doesn't have to be, as long as it's not too strict.
*/
if (!IS_GEN_RANGE(dev_priv, 3, 7)) {
- DRM_DEBUG_KMS("Skipping SDVO device mapping\n");
+ drm_dbg_kms(&dev_priv->drm, "Skipping SDVO device mapping\n");
return;
}

@@ -584,14 +600,16 @@ parse_sdvo_device_mapping(struct drm_i915_private *dev_priv, u8 bdb_version)
if (child->dvo_port != DEVICE_PORT_DVOB &&
child->dvo_port != DEVICE_PORT_DVOC) {
/* skip the incorrect SDVO port */
- DRM_DEBUG_KMS("Incorrect SDVO port. Skip it\n");
+ drm_dbg_kms(&dev_priv->drm,
+ "Incorrect SDVO port. Skip it\n");
continue;
}
- DRM_DEBUG_KMS("the SDVO device with slave addr %2x is found on"
- " %s port\n",
- child->slave_addr,
- (child->dvo_port == DEVICE_PORT_DVOB) ?
- "SDVOB" : "SDVOC");
+ drm_dbg_kms(&dev_priv->drm,
+ "the SDVO device with slave addr %2x is found on"
+ " %s port\n",
+ child->slave_addr,
+ (child->dvo_port == DEVICE_PORT_DVOB) ?
+ "SDVOB" : "SDVOC");
mapping = &dev_priv->vbt.sdvo_mappings[child->dvo_port - 1];
if (!mapping->initialized) {
mapping->dvo_port = child->dvo_port;
@@ -600,28 +618,30 @@ parse_sdvo_device_mapping(struct drm_i915_private *dev_priv, u8 bdb_version)
mapping->ddc_pin = child->ddc_pin;
mapping->i2c_pin = child->i2c_pin;
mapping->initialized = 1;
- DRM_DEBUG_KMS("SDVO device: dvo=%x, addr=%x, wiring=%d, ddc_pin=%d, i2c_pin=%d\n",
- mapping->dvo_port,
- mapping->slave_addr,
- mapping->dvo_wiring,
- mapping->ddc_pin,
- mapping->i2c_pin);
+ drm_dbg_kms(&dev_priv->drm,
+ "SDVO device: dvo=%x, addr=%x, wiring=%d, ddc_pin=%d, i2c_pin=%d\n",
+ mapping->dvo_port, mapping->slave_addr,
+ mapping->dvo_wiring, mapping->ddc_pin,
+ mapping->i2c_pin);
} else {
- DRM_DEBUG_KMS("Maybe one SDVO port is shared by "
- "two SDVO device.\n");
+ drm_dbg_kms(&dev_priv->drm,
+ "Maybe one SDVO port is shared by "
+ "two SDVO device.\n");
}
if (child->slave2_addr) {
/* Maybe this is a SDVO device with multiple inputs */
/* And the mapping info is not added */
- DRM_DEBUG_KMS("there exists the slave2_addr. Maybe this"
- " is a SDVO device with multiple inputs.\n");
+ drm_dbg_kms(&dev_priv->drm,
+ "there exists the slave2_addr. Maybe this"
+ " is a SDVO device with multiple inputs.\n");
}
count++;
}

if (!count) {
/* No SDVO device info is found */
- DRM_DEBUG_KMS("No SDVO device info is found in VBT\n");
+ drm_dbg_kms(&dev_priv->drm,
+ "No SDVO device info is found in VBT\n");
}
}

@@ -662,7 +682,8 @@ parse_driver_features(struct drm_i915_private *dev_priv,
}

if (bdb->version < 228) {
- DRM_DEBUG_KMS("DRRS State Enabled:%d\n", driver->drrs_enabled);
+ drm_dbg_kms(&dev_priv->drm, "DRRS State Enabled:%d\n",
+ driver->drrs_enabled);
/*
* If DRRS is not supported, drrs_type has to be set to 0.
* This is because, VBT is configured in such a way that
@@ -740,8 +761,9 @@ parse_edp(struct drm_i915_private *dev_priv, const struct bdb_header *bdb)
dev_priv->vbt.edp.rate = DP_LINK_BW_2_7;
break;
default:
- DRM_DEBUG_KMS("VBT has unknown eDP link rate value %u\n",
- edp_link_params->rate);
+ drm_dbg_kms(&dev_priv->drm,
+ "VBT has unknown eDP link rate value %u\n",
+ edp_link_params->rate);
break;
}

@@ -756,8 +778,9 @@ parse_edp(struct drm_i915_private *dev_priv, const struct bdb_header *bdb)
dev_priv->vbt.edp.lanes = 4;
break;
default:
- DRM_DEBUG_KMS("VBT has unknown eDP lane count value %u\n",
- edp_link_params->lanes);
+ drm_dbg_kms(&dev_priv->drm,
+ "VBT has unknown eDP lane count value %u\n",
+ edp_link_params->lanes);
break;
}

@@ -775,8 +798,9 @@ parse_edp(struct drm_i915_private *dev_priv, const struct bdb_header *bdb)
dev_priv->vbt.edp.preemphasis = DP_TRAIN_PRE_EMPH_LEVEL_3;
break;
default:
- DRM_DEBUG_KMS("VBT has unknown eDP pre-emphasis value %u\n",
- edp_link_params->preemphasis);
+ drm_dbg_kms(&dev_priv->drm,
+ "VBT has unknown eDP pre-emphasis value %u\n",
+ edp_link_params->preemphasis);
break;
}

@@ -794,8 +818,9 @@ parse_edp(struct drm_i915_private *dev_priv, const struct bdb_header *bdb)
dev_priv->vbt.edp.vswing = DP_TRAIN_VOLTAGE_SWING_LEVEL_3;
break;
default:
- DRM_DEBUG_KMS("VBT has unknown eDP voltage swing value %u\n",
- edp_link_params->vswing);
+ drm_dbg_kms(&dev_priv->drm,
+ "VBT has unknown eDP voltage swing value %u\n",
+ edp_link_params->vswing);
break;
}

@@ -822,7 +847,7 @@ parse_psr(struct drm_i915_private *dev_priv, const struct bdb_header *bdb)

psr = find_section(bdb, BDB_PSR);
if (!psr) {
- DRM_DEBUG_KMS("No PSR BDB found.\n");
+ drm_dbg_kms(&dev_priv->drm, "No PSR BDB found.\n");
return;
}

@@ -849,8 +874,9 @@ parse_psr(struct drm_i915_private *dev_priv, const struct bdb_header *bdb)
dev_priv->vbt.psr.lines_to_wait = PSR_8_LINES_TO_WAIT;
break;
default:
- DRM_DEBUG_KMS("VBT has unknown PSR lines to wait %u\n",
- psr_table->lines_to_wait);
+ drm_dbg_kms(&dev_priv->drm,
+ "VBT has unknown PSR lines to wait %u\n",
+ psr_table->lines_to_wait);
break;
}

@@ -872,8 +898,9 @@ parse_psr(struct drm_i915_private *dev_priv, const struct bdb_header *bdb)
dev_priv->vbt.psr.tp1_wakeup_time_us = 0;
break;
default:
- DRM_DEBUG_KMS("VBT tp1 wakeup time value %d is outside range[0-3], defaulting to max value 2500us\n",
- psr_table->tp1_wakeup_time);
+ drm_dbg_kms(&dev_priv->drm,
+ "VBT tp1 wakeup time value %d is outside range[0-3], defaulting to max value 2500us\n",
+ psr_table->tp1_wakeup_time);
/* fallthrough */
case 2:
dev_priv->vbt.psr.tp1_wakeup_time_us = 2500;
@@ -891,8 +918,9 @@ parse_psr(struct drm_i915_private *dev_priv, const struct bdb_header *bdb)
dev_priv->vbt.psr.tp2_tp3_wakeup_time_us = 0;
break;
default:
- DRM_DEBUG_KMS("VBT tp2_tp3 wakeup time value %d is outside range[0-3], defaulting to max value 2500us\n",
- psr_table->tp2_tp3_wakeup_time);
+ drm_dbg_kms(&dev_priv->drm,
+ "VBT tp2_tp3 wakeup time value %d is outside range[0-3], defaulting to max value 2500us\n",
+ psr_table->tp2_tp3_wakeup_time);
/* fallthrough */
case 2:
dev_priv->vbt.psr.tp2_tp3_wakeup_time_us = 2500;
@@ -998,12 +1026,12 @@ parse_mipi_config(struct drm_i915_private *dev_priv,
*/
start = find_section(bdb, BDB_MIPI_CONFIG);
if (!start) {
- DRM_DEBUG_KMS("No MIPI config BDB found");
+ drm_dbg_kms(&dev_priv->drm, "No MIPI config BDB found");
return;
}

- DRM_DEBUG_DRIVER("Found MIPI Config block, panel index = %d\n",
- panel_type);
+ drm_dbg(&dev_priv->drm, "Found MIPI Config block, panel index = %d\n",
+ panel_type);

/*
* get hold of the correct configuration block and pps data as per
@@ -1271,7 +1299,8 @@ static void fixup_mipi_sequences(struct drm_i915_private *dev_priv)
if (!len)
return;

- DRM_DEBUG_KMS("Using init OTP fragment to deassert reset\n");
+ drm_dbg_kms(&dev_priv->drm,
+ "Using init OTP fragment to deassert reset\n");

/* Copy the fragment, update seq byte and terminate it */
init_otp = (u8 *)dev_priv->vbt.dsi.sequence[MIPI_SEQ_INIT_OTP];
@@ -1306,18 +1335,21 @@ parse_mipi_sequence(struct drm_i915_private *dev_priv,

sequence = find_section(bdb, BDB_MIPI_SEQUENCE);
if (!sequence) {
- DRM_DEBUG_KMS("No MIPI Sequence found, parsing complete\n");
+ drm_dbg_kms(&dev_priv->drm,
+ "No MIPI Sequence found, parsing complete\n");
return;
}

/* Fail gracefully for forward incompatible sequence block. */
if (sequence->version >= 4) {
- DRM_ERROR("Unable to parse MIPI Sequence Block v%u\n",
- sequence->version);
+ drm_err(&dev_priv->drm,
+ "Unable to parse MIPI Sequence Block v%u\n",
+ sequence->version);
return;
}

- DRM_DEBUG_DRIVER("Found MIPI sequence block v%u\n", sequence->version);
+ drm_dbg(&dev_priv->drm, "Found MIPI sequence block v%u\n",
+ sequence->version);

seq_data = find_panel_sequence_block(sequence, panel_type, &seq_size);
if (!seq_data)
@@ -1334,13 +1366,15 @@ parse_mipi_sequence(struct drm_i915_private *dev_priv,
break;

if (seq_id >= MIPI_SEQ_MAX) {
- DRM_ERROR("Unknown sequence %u\n", seq_id);
+ drm_err(&dev_priv->drm, "Unknown sequence %u\n",
+ seq_id);
goto err;
}

/* Log about presence of sequences we won't run. */
if (seq_id == MIPI_SEQ_TEAR_ON || seq_id == MIPI_SEQ_TEAR_OFF)
- DRM_DEBUG_KMS("Unsupported sequence %u\n", seq_id);
+ drm_dbg_kms(&dev_priv->drm,
+ "Unsupported sequence %u\n", seq_id);

dev_priv->vbt.dsi.sequence[seq_id] = data + index;

@@ -1349,7 +1383,8 @@ parse_mipi_sequence(struct drm_i915_private *dev_priv,
else
index = goto_next_sequence(data, index, seq_size);
if (!index) {
- DRM_ERROR("Invalid sequence %u\n", seq_id);
+ drm_err(&dev_priv->drm, "Invalid sequence %u\n",
+ seq_id);
goto err;
}
}
@@ -1360,7 +1395,7 @@ parse_mipi_sequence(struct drm_i915_private *dev_priv,

fixup_mipi_sequences(dev_priv);

- DRM_DEBUG_DRIVER("MIPI related VBT parsing complete\n");
+ drm_dbg(&dev_priv->drm, "MIPI related VBT parsing complete\n");
return;

err:
@@ -1385,13 +1420,15 @@ parse_compression_parameters(struct drm_i915_private *i915,
if (params) {
/* Sanity checks */
if (params->entry_size != sizeof(params->data[0])) {
- DRM_DEBUG_KMS("VBT: unsupported compression param entry size\n");
+ drm_dbg_kms(&i915->drm,
+ "VBT: unsupported compression param entry size\n");
return;
}

block_size = get_blocksize(params);
if (block_size < sizeof(*params)) {
- DRM_DEBUG_KMS("VBT: expected 16 compression param entries\n");
+ drm_dbg_kms(&i915->drm,
+ "VBT: expected 16 compression param entries\n");
return;
}
}
@@ -1403,12 +1440,14 @@ parse_compression_parameters(struct drm_i915_private *i915,
continue;

if (!params) {
- DRM_DEBUG_KMS("VBT: compression params not available\n");
+ drm_dbg_kms(&i915->drm,
+ "VBT: compression params not available\n");
continue;
}

if (child->compression_method_cps) {
- DRM_DEBUG_KMS("VBT: CPS compression not supported\n");
+ drm_dbg_kms(&i915->drm,
+ "VBT: CPS compression not supported\n");
continue;
}

@@ -1456,10 +1495,11 @@ static void sanitize_ddc_pin(struct drm_i915_private *dev_priv,

p = get_port_by_ddc_pin(dev_priv, info->alternate_ddc_pin);
if (p != PORT_NONE) {
- DRM_DEBUG_KMS("port %c trying to use the same DDC pin (0x%x) as port %c, "
- "disabling port %c DVI/HDMI support\n",
- port_name(port), info->alternate_ddc_pin,
- port_name(p), port_name(p));
+ drm_dbg_kms(&dev_priv->drm,
+ "port %c trying to use the same DDC pin (0x%x) as port %c, "
+ "disabling port %c DVI/HDMI support\n",
+ port_name(port), info->alternate_ddc_pin,
+ port_name(p), port_name(p));

/*
* If we have multiple ports supposedly sharing the
@@ -1507,10 +1547,11 @@ static void sanitize_aux_ch(struct drm_i915_private *dev_priv,

p = get_port_by_aux_ch(dev_priv, info->alternate_aux_channel);
if (p != PORT_NONE) {
- DRM_DEBUG_KMS("port %c trying to use the same AUX CH (0x%x) as port %c, "
- "disabling port %c DP support\n",
- port_name(port), info->alternate_aux_channel,
- port_name(p), port_name(p));
+ drm_dbg_kms(&dev_priv->drm,
+ "port %c trying to use the same AUX CH (0x%x) as port %c, "
+ "disabling port %c DP support\n",
+ port_name(port), info->alternate_aux_channel,
+ port_name(p), port_name(p));

/*
* If we have multiple ports supposedlt sharing the
@@ -1570,8 +1611,9 @@ static u8 map_ddc_pin(struct drm_i915_private *dev_priv, u8 vbt_pin)
if (vbt_pin < n_entries && ddc_pin_map[vbt_pin] != 0)
return ddc_pin_map[vbt_pin];

- DRM_DEBUG_KMS("Ignoring alternate pin: VBT claims DDC pin %d, which is not valid for this platform\n",
- vbt_pin);
+ drm_dbg_kms(&dev_priv->drm,
+ "Ignoring alternate pin: VBT claims DDC pin %d, which is not valid for this platform\n",
+ vbt_pin);
return 0;
}

@@ -1622,8 +1664,9 @@ static void parse_ddi_port(struct drm_i915_private *dev_priv,
info = &dev_priv->vbt.ddi_port_info[port];

if (info->child) {
- DRM_DEBUG_KMS("More than one child device for port %c in VBT, using the first.\n",
- port_name(port));
+ drm_dbg_kms(&dev_priv->drm,
+ "More than one child device for port %c in VBT, using the first.\n",
+ port_name(port));
return;
}

@@ -1634,8 +1677,9 @@ static void parse_ddi_port(struct drm_i915_private *dev_priv,
is_edp = is_dp && (child->device_type & DEVICE_TYPE_INTERNAL_CONNECTOR);

if (port == PORT_A && is_dvi && INTEL_GEN(dev_priv) < 12) {
- DRM_DEBUG_KMS("VBT claims port A supports DVI%s, ignoring\n",
- is_hdmi ? "/HDMI" : "");
+ drm_dbg_kms(&dev_priv->drm,
+ "VBT claims port A supports DVI%s, ignoring\n",
+ is_hdmi ? "/HDMI" : "");
is_dvi = false;
is_hdmi = false;
}
@@ -1651,11 +1695,12 @@ static void parse_ddi_port(struct drm_i915_private *dev_priv,
if (bdb_version >= 209)
info->supports_tbt = child->tbt;

- DRM_DEBUG_KMS("Port %c VBT info: CRT:%d DVI:%d HDMI:%d DP:%d eDP:%d LSPCON:%d USB-Type-C:%d TBT:%d DSC:%d\n",
- port_name(port), is_crt, is_dvi, is_hdmi, is_dp, is_edp,
- HAS_LSPCON(dev_priv) && child->lspcon,
- info->supports_typec_usb, info->supports_tbt,
- devdata->dsc != NULL);
+ drm_dbg_kms(&dev_priv->drm,
+ "Port %c VBT info: CRT:%d DVI:%d HDMI:%d DP:%d eDP:%d LSPCON:%d USB-Type-C:%d TBT:%d DSC:%d\n",
+ port_name(port), is_crt, is_dvi, is_hdmi, is_dp, is_edp,
+ HAS_LSPCON(dev_priv) && child->lspcon,
+ info->supports_typec_usb, info->supports_tbt,
+ devdata->dsc != NULL);

if (is_dvi) {
u8 ddc_pin;
@@ -1665,9 +1710,10 @@ static void parse_ddi_port(struct drm_i915_private *dev_priv,
info->alternate_ddc_pin = ddc_pin;
sanitize_ddc_pin(dev_priv, port);
} else {
- DRM_DEBUG_KMS("Port %c has invalid DDC pin %d, "
- "sticking to defaults\n",
- port_name(port), ddc_pin);
+ drm_dbg_kms(&dev_priv->drm,
+ "Port %c has invalid DDC pin %d, "
+ "sticking to defaults\n",
+ port_name(port), ddc_pin);
}
}

@@ -1680,9 +1726,10 @@ static void parse_ddi_port(struct drm_i915_private *dev_priv,
if (bdb_version >= 158) {
/* The VBT HDMI level shift values match the table we have. */
u8 hdmi_level_shift = child->hdmi_level_shifter_value;
- DRM_DEBUG_KMS("VBT HDMI level shift for port %c: %d\n",
- port_name(port),
- hdmi_level_shift);
+ drm_dbg_kms(&dev_priv->drm,
+ "VBT HDMI level shift for port %c: %d\n",
+ port_name(port),
+ hdmi_level_shift);
info->hdmi_level_shift = hdmi_level_shift;
info->hdmi_level_shift_set = true;
}
@@ -1706,19 +1753,22 @@ static void parse_ddi_port(struct drm_i915_private *dev_priv,
}

if (max_tmds_clock)
- DRM_DEBUG_KMS("VBT HDMI max TMDS clock for port %c: %d kHz\n",
- port_name(port), max_tmds_clock);
+ drm_dbg_kms(&dev_priv->drm,
+ "VBT HDMI max TMDS clock for port %c: %d kHz\n",
+ port_name(port), max_tmds_clock);
info->max_tmds_clock = max_tmds_clock;
}

/* Parse the I_boost config for SKL and above */
if (bdb_version >= 196 && child->iboost) {
info->dp_boost_level = translate_iboost(child->dp_iboost_level);
- DRM_DEBUG_KMS("VBT (e)DP boost level for port %c: %d\n",
- port_name(port), info->dp_boost_level);
+ drm_dbg_kms(&dev_priv->drm,
+ "VBT (e)DP boost level for port %c: %d\n",
+ port_name(port), info->dp_boost_level);
info->hdmi_boost_level = translate_iboost(child->hdmi_iboost_level);
- DRM_DEBUG_KMS("VBT HDMI boost level for port %c: %d\n",
- port_name(port), info->hdmi_boost_level);
+ drm_dbg_kms(&dev_priv->drm,
+ "VBT HDMI boost level for port %c: %d\n",
+ port_name(port), info->hdmi_boost_level);
}

/* DP max link rate for CNL+ */
@@ -1738,8 +1788,9 @@ static void parse_ddi_port(struct drm_i915_private *dev_priv,
info->dp_max_link_rate = 162000;
break;
}
- DRM_DEBUG_KMS("VBT DP max link rate for port %c: %d\n",
- port_name(port), info->dp_max_link_rate);
+ drm_dbg_kms(&dev_priv->drm,
+ "VBT DP max link rate for port %c: %d\n",
+ port_name(port), info->dp_max_link_rate);
}

info->child = child;
@@ -1773,19 +1824,21 @@ parse_general_definitions(struct drm_i915_private *dev_priv,

defs = find_section(bdb, BDB_GENERAL_DEFINITIONS);
if (!defs) {
- DRM_DEBUG_KMS("No general definition block is found, no devices defined.\n");
+ drm_dbg_kms(&dev_priv->drm,
+ "No general definition block is found, no devices defined.\n");
return;
}

block_size = get_blocksize(defs);
if (block_size < sizeof(*defs)) {
- DRM_DEBUG_KMS("General definitions block too small (%u)\n",
- block_size);
+ drm_dbg_kms(&dev_priv->drm,
+ "General definitions block too small (%u)\n",
+ block_size);
return;
}

bus_pin = defs->crt_ddc_gmbus_pin;
- DRM_DEBUG_KMS("crt_ddc_bus_pin: %d\n", bus_pin);
+ drm_dbg_kms(&dev_priv->drm, "crt_ddc_bus_pin: %d\n", bus_pin);
if (intel_gmbus_is_valid_pin(dev_priv, bus_pin))
dev_priv->vbt.crt_ddc_pin = bus_pin;

@@ -1804,19 +1857,22 @@ parse_general_definitions(struct drm_i915_private *dev_priv,
} else {
expected_size = sizeof(*child);
BUILD_BUG_ON(sizeof(*child) < 39);
- DRM_DEBUG_DRIVER("Expected child device config size for VBT version %u not known; assuming %u\n",
- bdb->version, expected_size);
+ drm_dbg(&dev_priv->drm,
+ "Expected child device config size for VBT version %u not known; assuming %u\n",
+ bdb->version, expected_size);
}

/* Flag an error for unexpected size, but continue anyway. */
if (defs->child_dev_size != expected_size)
- DRM_ERROR("Unexpected child device config size %u (expected %u for VBT version %u)\n",
- defs->child_dev_size, expected_size, bdb->version);
+ drm_err(&dev_priv->drm,
+ "Unexpected child device config size %u (expected %u for VBT version %u)\n",
+ defs->child_dev_size, expected_size, bdb->version);

/* The legacy sized child device config is the minimum we need. */
if (defs->child_dev_size < LEGACY_CHILD_DEVICE_CONFIG_SIZE) {
- DRM_DEBUG_KMS("Child device config size %u is too small.\n",
- defs->child_dev_size);
+ drm_dbg_kms(&dev_priv->drm,
+ "Child device config size %u is too small.\n",
+ defs->child_dev_size);
return;
}

@@ -1828,8 +1884,9 @@ parse_general_definitions(struct drm_i915_private *dev_priv,
if (!child->device_type)
continue;

- DRM_DEBUG_KMS("Found VBT child device with type 0x%x\n",
- child->device_type);
+ drm_dbg_kms(&dev_priv->drm,
+ "Found VBT child device with type 0x%x\n",
+ child->device_type);

devdata = kzalloc(sizeof(*devdata), GFP_KERNEL);
if (!devdata)
@@ -1847,7 +1904,8 @@ parse_general_definitions(struct drm_i915_private *dev_priv,
}

if (list_empty(&dev_priv->vbt.display_devices))
- DRM_DEBUG_KMS("no child dev is parsed from VBT\n");
+ drm_dbg_kms(&dev_priv->drm,
+ "no child dev is parsed from VBT\n");
}

/* Common defaults which may be overridden by VBT. */
@@ -1880,7 +1938,8 @@ init_vbt_defaults(struct drm_i915_private *dev_priv)
*/
dev_priv->vbt.lvds_ssc_freq = intel_bios_ssc_frequency(dev_priv,
!HAS_PCH_SPLIT(dev_priv));
- DRM_DEBUG_KMS("Set default to SSC at %d kHz\n", dev_priv->vbt.lvds_ssc_freq);
+ drm_dbg_kms(&dev_priv->drm, "Set default to SSC at %d kHz\n",
+ dev_priv->vbt.lvds_ssc_freq);
}

/* Defaults to initialize only if there is no VBT. */
@@ -1990,13 +2049,14 @@ static struct vbt_header *oprom_get_vbt(struct drm_i915_private *dev_priv)
goto err_unmap_oprom;

if (sizeof(struct vbt_header) > size) {
- DRM_DEBUG_DRIVER("VBT header incomplete\n");
+ drm_dbg(&dev_priv->drm, "VBT header incomplete\n");
goto err_unmap_oprom;
}

vbt_size = ioread16(p + offsetof(struct vbt_header, vbt_size));
if (vbt_size > size) {
- DRM_DEBUG_DRIVER("VBT incomplete (vbt_size overflows)\n");
+ drm_dbg(&dev_priv->drm,
+ "VBT incomplete (vbt_size overflows)\n");
goto err_unmap_oprom;
}

@@ -2039,7 +2099,8 @@ void intel_bios_init(struct drm_i915_private *dev_priv)
INIT_LIST_HEAD(&dev_priv->vbt.display_devices);

if (!HAS_DISPLAY(dev_priv) || !INTEL_DISPLAY_ENABLED(dev_priv)) {
- DRM_DEBUG_KMS("Skipping VBT init due to disabled display.\n");
+ drm_dbg_kms(&dev_priv->drm,
+ "Skipping VBT init due to disabled display.\n");
return;
}

@@ -2053,13 +2114,14 @@ void intel_bios_init(struct drm_i915_private *dev_priv)

vbt = oprom_vbt;

- DRM_DEBUG_KMS("Found valid VBT in PCI ROM\n");
+ drm_dbg_kms(&dev_priv->drm, "Found valid VBT in PCI ROM\n");
}

bdb = get_bdb_header(vbt);

- DRM_DEBUG_KMS("VBT signature \"%.*s\", BDB version %d\n",
- (int)sizeof(vbt->signature), vbt->signature, bdb->version);
+ drm_dbg_kms(&dev_priv->drm,
+ "VBT signature \"%.*s\", BDB version %d\n",
+ (int)sizeof(vbt->signature), vbt->signature, bdb->version);

/* Grab useful general definitions */
parse_general_features(dev_priv, bdb);
@@ -2084,7 +2146,8 @@ void intel_bios_init(struct drm_i915_private *dev_priv)

out:
if (!vbt) {
- DRM_INFO("Failed to find VBIOS tables (VBT)\n");
+ drm_info(&dev_priv->drm,
+ "Failed to find VBIOS tables (VBT)\n");
init_vbt_missing_defaults(dev_priv);
}

@@ -2371,8 +2434,9 @@ bool intel_bios_is_dsi_present(struct drm_i915_private *dev_priv,
} else if (dvo_port == DVO_PORT_MIPIB ||
dvo_port == DVO_PORT_MIPIC ||
dvo_port == DVO_PORT_MIPID) {
- DRM_DEBUG_KMS("VBT has unsupported DSI port %c\n",
- port_name(dvo_port - DVO_PORT_MIPIA));
+ drm_dbg_kms(&dev_priv->drm,
+ "VBT has unsupported DSI port %c\n",
+ port_name(dvo_port - DVO_PORT_MIPIA));
}
}

@@ -2524,8 +2588,9 @@ enum aux_ch intel_bios_port_aux_ch(struct drm_i915_private *dev_priv,
if (!info->alternate_aux_channel) {
aux_ch = (enum aux_ch)port;

- DRM_DEBUG_KMS("using AUX %c for port %c (platform default)\n",
- aux_ch_name(aux_ch), port_name(port));
+ drm_dbg_kms(&dev_priv->drm,
+ "using AUX %c for port %c (platform default)\n",
+ aux_ch_name(aux_ch), port_name(port));
return aux_ch;
}

@@ -2557,8 +2622,8 @@ enum aux_ch intel_bios_port_aux_ch(struct drm_i915_private *dev_priv,
break;
}

- DRM_DEBUG_KMS("using AUX %c for port %c (VBT)\n",
- aux_ch_name(aux_ch), port_name(port));
+ drm_dbg_kms(&dev_priv->drm, "using AUX %c for port %c (VBT)\n",
+ aux_ch_name(aux_ch), port_name(port));

return aux_ch;
}
--
2.24.1

2020-01-14 09:53:35

by Wambui Karuga

[permalink] [raw]
Subject: [PATCH 4/5] drm/i915/bw: convert to new drm_device based logging macros.

This replaces the printk based logging macros with the struct drm_based
macros in i915/display/intel_bw.c
This transformation was achieved by using the following coccinelle
script that matches based on the existence of a struct drm_i915_private
device in the functions:

@rule1@
identifier fn, T;
@@

fn(struct drm_i915_private *T,...) {
<+...
(
-DRM_INFO(
+drm_info(&T->drm,
...)
|
-DRM_ERROR(
+drm_err(&T->drm,
...)
|
-DRM_WARN(
+drm_warn(&T->drm,
...)
|
-DRM_DEBUG(
+drm_dbg(&T->drm,
...)
|
-DRM_DEBUG_DRIVER(
+drm_dbg(&T->drm,
...)
|
-DRM_DEBUG_KMS(
+drm_dbg_kms(&T->drm,
...)
)
...+>
}

@rule2@
identifier fn, T;
@@

fn(...) {
...
struct drm_i915_private *T = ...;
<+...
(
-DRM_INFO(
+drm_info(&T->drm,
...)
|
-DRM_ERROR(
+drm_err(&T->drm,
...)
|
-DRM_WARN(
+drm_warn(&T->drm,
...)
|
-DRM_DEBUG(
+drm_dbg(&T->drm,
...)
|
-DRM_DEBUG_KMS(
+drm_dbg_kms(&T->drm,
...)
|
-DRM_DEBUG_DRIVER(
+drm_dbg(&T->drm,
...)
)
...+>
}

Resulting checkpatch warnings were addressed manually.

Signed-off-by: Wambui Karuga <[email protected]>
---
drivers/gpu/drm/i915/display/intel_bw.c | 29 +++++++++++++++----------
1 file changed, 17 insertions(+), 12 deletions(-)

diff --git a/drivers/gpu/drm/i915/display/intel_bw.c b/drivers/gpu/drm/i915/display/intel_bw.c
index b228671d5a5d..9c40ad52dd73 100644
--- a/drivers/gpu/drm/i915/display/intel_bw.c
+++ b/drivers/gpu/drm/i915/display/intel_bw.c
@@ -132,9 +132,10 @@ static int icl_get_qgv_points(struct drm_i915_private *dev_priv,
if (ret)
return ret;

- DRM_DEBUG_KMS("QGV %d: DCLK=%d tRP=%d tRDPRE=%d tRAS=%d tRCD=%d tRC=%d\n",
- i, sp->dclk, sp->t_rp, sp->t_rdpre, sp->t_ras,
- sp->t_rcd, sp->t_rc);
+ drm_dbg_kms(&dev_priv->drm,
+ "QGV %d: DCLK=%d tRP=%d tRDPRE=%d tRAS=%d tRCD=%d tRC=%d\n",
+ i, sp->dclk, sp->t_rp, sp->t_rdpre, sp->t_ras,
+ sp->t_rcd, sp->t_rc);
}

return 0;
@@ -187,7 +188,8 @@ static int icl_get_bw_info(struct drm_i915_private *dev_priv, const struct intel

ret = icl_get_qgv_points(dev_priv, &qi);
if (ret) {
- DRM_DEBUG_KMS("Failed to get memory subsystem information, ignoring bandwidth limits");
+ drm_dbg_kms(&dev_priv->drm,
+ "Failed to get memory subsystem information, ignoring bandwidth limits");
return ret;
}
num_channels = qi.num_channels;
@@ -228,8 +230,9 @@ static int icl_get_bw_info(struct drm_i915_private *dev_priv, const struct intel
bi->deratedbw[j] = min(maxdebw,
bw * 9 / 10); /* 90% */

- DRM_DEBUG_KMS("BW%d / QGV %d: num_planes=%d deratedbw=%u\n",
- i, j, bi->num_planes, bi->deratedbw[j]);
+ drm_dbg_kms(&dev_priv->drm,
+ "BW%d / QGV %d: num_planes=%d deratedbw=%u\n",
+ i, j, bi->num_planes, bi->deratedbw[j]);
}

if (bi->num_planes == 1)
@@ -424,10 +427,11 @@ int intel_bw_atomic_check(struct intel_atomic_state *state)
bw_state->data_rate[crtc->pipe] = new_data_rate;
bw_state->num_active_planes[crtc->pipe] = new_active_planes;

- DRM_DEBUG_KMS("pipe %c data rate %u num active planes %u\n",
- pipe_name(crtc->pipe),
- bw_state->data_rate[crtc->pipe],
- bw_state->num_active_planes[crtc->pipe]);
+ drm_dbg_kms(&dev_priv->drm,
+ "pipe %c data rate %u num active planes %u\n",
+ pipe_name(crtc->pipe),
+ bw_state->data_rate[crtc->pipe],
+ bw_state->num_active_planes[crtc->pipe]);
}

if (!bw_state)
@@ -441,8 +445,9 @@ int intel_bw_atomic_check(struct intel_atomic_state *state)
data_rate = DIV_ROUND_UP(data_rate, 1000);

if (data_rate > max_data_rate) {
- DRM_DEBUG_KMS("Bandwidth %u MB/s exceeds max available %d MB/s (%d active planes)\n",
- data_rate, max_data_rate, num_active_planes);
+ drm_dbg_kms(&dev_priv->drm,
+ "Bandwidth %u MB/s exceeds max available %d MB/s (%d active planes)\n",
+ data_rate, max_data_rate, num_active_planes);
return -EINVAL;
}

--
2.24.1

2020-01-14 09:53:46

by Wambui Karuga

[permalink] [raw]
Subject: [PATCH 5/5] drm/i915/cdclk: use new drm logging macros.

Converts instances of the printk based debugging macros with the new
struct drm_device based logging macros in i915/display/intel_cdclk.c.
The conversion is achieved using the following coccinelle script that
transforms based on the existence of a struct drm_i915_private device in
the function:

@rule1@
identifier fn, T;
@@

fn(struct drm_i915_private *T,...) {
<+...
(
-DRM_INFO(
+drm_info(&T->drm,
...)
|
-DRM_ERROR(
+drm_err(&T->drm,
...)
|
-DRM_WARN(
+drm_warn(&T->drm,
...)
|
-DRM_DEBUG(
+drm_dbg(&T->drm,
...)
|
-DRM_DEBUG_DRIVER(
+drm_dbg(&T->drm,
...)
|
-DRM_DEBUG_KMS(
+drm_dbg_kms(&T->drm,
...)
)
...+>
}

@rule2@
identifier fn, T;
@@

fn(...) {
...
struct drm_i915_private *T = ...;
<+...
(
-DRM_INFO(
+drm_info(&T->drm,
...)
|
-DRM_ERROR(
+drm_err(&T->drm,
...)
|
-DRM_WARN(
+drm_warn(&T->drm,
...)
|
-DRM_DEBUG(
+drm_dbg(&T->drm,
...)
|
-DRM_DEBUG_KMS(
+drm_dbg_kms(&T->drm,
...)
|
-DRM_DEBUG_DRIVER(
+drm_dbg(&T->drm,
...)
)
...+>
}

Resulting checkpatch warnings were fixed manually.

Signed-off-by: Wambui Karuga <[email protected]>
---
drivers/gpu/drm/i915/display/intel_cdclk.c | 109 ++++++++++++---------
1 file changed, 64 insertions(+), 45 deletions(-)

diff --git a/drivers/gpu/drm/i915/display/intel_cdclk.c b/drivers/gpu/drm/i915/display/intel_cdclk.c
index 7d1ab1e5b7c3..cce04a4b758e 100644
--- a/drivers/gpu/drm/i915/display/intel_cdclk.c
+++ b/drivers/gpu/drm/i915/display/intel_cdclk.c
@@ -242,9 +242,10 @@ static unsigned int intel_hpll_vco(struct drm_i915_private *dev_priv)

vco = vco_table[tmp & 0x7];
if (vco == 0)
- DRM_ERROR("Bad HPLL VCO (HPLLVCO=0x%02x)\n", tmp);
+ drm_err(&dev_priv->drm, "Bad HPLL VCO (HPLLVCO=0x%02x)\n",
+ tmp);
else
- DRM_DEBUG_KMS("HPLL VCO %u kHz\n", vco);
+ drm_dbg_kms(&dev_priv->drm, "HPLL VCO %u kHz\n", vco);

return vco;
}
@@ -292,8 +293,9 @@ static void g33_get_cdclk(struct drm_i915_private *dev_priv,
return;

fail:
- DRM_ERROR("Unable to determine CDCLK. HPLL VCO=%u kHz, CFGC=0x%08x\n",
- cdclk_state->vco, tmp);
+ drm_err(&dev_priv->drm,
+ "Unable to determine CDCLK. HPLL VCO=%u kHz, CFGC=0x%08x\n",
+ cdclk_state->vco, tmp);
cdclk_state->cdclk = 190476;
}

@@ -319,7 +321,8 @@ static void pnv_get_cdclk(struct drm_i915_private *dev_priv,
cdclk_state->cdclk = 200000;
break;
default:
- DRM_ERROR("Unknown pnv display core clock 0x%04x\n", gcfgc);
+ drm_err(&dev_priv->drm,
+ "Unknown pnv display core clock 0x%04x\n", gcfgc);
/* fall through */
case GC_DISPLAY_CLOCK_133_MHZ_PNV:
cdclk_state->cdclk = 133333;
@@ -369,8 +372,9 @@ static void i965gm_get_cdclk(struct drm_i915_private *dev_priv,
return;

fail:
- DRM_ERROR("Unable to determine CDCLK. HPLL VCO=%u kHz, CFGC=0x%04x\n",
- cdclk_state->vco, tmp);
+ drm_err(&dev_priv->drm,
+ "Unable to determine CDCLK. HPLL VCO=%u kHz, CFGC=0x%04x\n",
+ cdclk_state->vco, tmp);
cdclk_state->cdclk = 200000;
}

@@ -397,8 +401,9 @@ static void gm45_get_cdclk(struct drm_i915_private *dev_priv,
cdclk_state->cdclk = cdclk_sel ? 320000 : 228571;
break;
default:
- DRM_ERROR("Unable to determine CDCLK. HPLL VCO=%u, CFGC=0x%04x\n",
- cdclk_state->vco, tmp);
+ drm_err(&dev_priv->drm,
+ "Unable to determine CDCLK. HPLL VCO=%u, CFGC=0x%04x\n",
+ cdclk_state->vco, tmp);
cdclk_state->cdclk = 222222;
break;
}
@@ -563,7 +568,8 @@ static void vlv_set_cdclk(struct drm_i915_private *dev_priv,
if (wait_for((vlv_punit_read(dev_priv, PUNIT_REG_DSPSSPM) &
DSPFREQSTAT_MASK) == (cmd << DSPFREQSTAT_SHIFT),
50)) {
- DRM_ERROR("timed out waiting for CDclk change\n");
+ drm_err(&dev_priv->drm,
+ "timed out waiting for CDclk change\n");
}

if (cdclk == 400000) {
@@ -581,7 +587,8 @@ static void vlv_set_cdclk(struct drm_i915_private *dev_priv,
if (wait_for((vlv_cck_read(dev_priv, CCK_DISPLAY_CLOCK_CONTROL) &
CCK_FREQUENCY_STATUS) == (divider << CCK_FREQUENCY_STATUS_SHIFT),
50))
- DRM_ERROR("timed out waiting for CDclk change\n");
+ drm_err(&dev_priv->drm,
+ "timed out waiting for CDclk change\n");
}

/* adjust self-refresh exit latency value */
@@ -645,7 +652,8 @@ static void chv_set_cdclk(struct drm_i915_private *dev_priv,
if (wait_for((vlv_punit_read(dev_priv, PUNIT_REG_DSPSSPM) &
DSPFREQSTAT_MASK_CHV) == (cmd << DSPFREQSTAT_SHIFT_CHV),
50)) {
- DRM_ERROR("timed out waiting for CDclk change\n");
+ drm_err(&dev_priv->drm,
+ "timed out waiting for CDclk change\n");
}

vlv_punit_put(dev_priv);
@@ -730,7 +738,8 @@ static void bdw_set_cdclk(struct drm_i915_private *dev_priv,
ret = sandybridge_pcode_write(dev_priv,
BDW_PCODE_DISPLAY_FREQ_CHANGE_REQ, 0x0);
if (ret) {
- DRM_ERROR("failed to inform pcode about cdclk change\n");
+ drm_err(&dev_priv->drm,
+ "failed to inform pcode about cdclk change\n");
return;
}

@@ -744,7 +753,7 @@ static void bdw_set_cdclk(struct drm_i915_private *dev_priv,
*/
if (wait_for_us(I915_READ(LCPLL_CTL) &
LCPLL_CD_SOURCE_FCLK_DONE, 100))
- DRM_ERROR("Switching to FCLK failed\n");
+ drm_err(&dev_priv->drm, "Switching to FCLK failed\n");

val = I915_READ(LCPLL_CTL);
val &= ~LCPLL_CLK_FREQ_MASK;
@@ -775,7 +784,7 @@ static void bdw_set_cdclk(struct drm_i915_private *dev_priv,

if (wait_for_us((I915_READ(LCPLL_CTL) &
LCPLL_CD_SOURCE_FCLK_DONE) == 0, 1))
- DRM_ERROR("Switching back to LCPLL failed\n");
+ drm_err(&dev_priv->drm, "Switching back to LCPLL failed\n");

sandybridge_pcode_write(dev_priv, HSW_PCODE_DE_WRITE_FREQ_REQ,
cdclk_state->voltage_level);
@@ -971,7 +980,7 @@ static void skl_dpll0_enable(struct drm_i915_private *dev_priv, int vco)
I915_WRITE(LCPLL1_CTL, I915_READ(LCPLL1_CTL) | LCPLL_PLL_ENABLE);

if (intel_de_wait_for_set(dev_priv, LCPLL1_CTL, LCPLL_PLL_LOCK, 5))
- DRM_ERROR("DPLL0 not locked\n");
+ drm_err(&dev_priv->drm, "DPLL0 not locked\n");

dev_priv->cdclk.hw.vco = vco;

@@ -983,7 +992,7 @@ static void skl_dpll0_disable(struct drm_i915_private *dev_priv)
{
I915_WRITE(LCPLL1_CTL, I915_READ(LCPLL1_CTL) & ~LCPLL_PLL_ENABLE);
if (intel_de_wait_for_clear(dev_priv, LCPLL1_CTL, LCPLL_PLL_LOCK, 1))
- DRM_ERROR("Couldn't disable DPLL0\n");
+ drm_err(&dev_priv->drm, "Couldn't disable DPLL0\n");

dev_priv->cdclk.hw.vco = 0;
}
@@ -1012,8 +1021,8 @@ static void skl_set_cdclk(struct drm_i915_private *dev_priv,
SKL_CDCLK_READY_FOR_CHANGE,
SKL_CDCLK_READY_FOR_CHANGE, 3);
if (ret) {
- DRM_ERROR("Failed to inform PCU about cdclk change (%d)\n",
- ret);
+ drm_err(&dev_priv->drm,
+ "Failed to inform PCU about cdclk change (%d)\n", ret);
return;
}

@@ -1114,7 +1123,7 @@ static void skl_sanitize_cdclk(struct drm_i915_private *dev_priv)
return;

sanitize:
- DRM_DEBUG_KMS("Sanitizing cdclk programmed by pre-os\n");
+ drm_dbg_kms(&dev_priv->drm, "Sanitizing cdclk programmed by pre-os\n");

/* force cdclk programming */
dev_priv->cdclk.hw.cdclk = 0;
@@ -1409,7 +1418,7 @@ static void bxt_de_pll_disable(struct drm_i915_private *dev_priv)
/* Timeout 200us */
if (intel_de_wait_for_clear(dev_priv,
BXT_DE_PLL_ENABLE, BXT_DE_PLL_LOCK, 1))
- DRM_ERROR("timeout waiting for DE PLL unlock\n");
+ drm_err(&dev_priv->drm, "timeout waiting for DE PLL unlock\n");

dev_priv->cdclk.hw.vco = 0;
}
@@ -1429,7 +1438,7 @@ static void bxt_de_pll_enable(struct drm_i915_private *dev_priv, int vco)
/* Timeout 200us */
if (intel_de_wait_for_set(dev_priv,
BXT_DE_PLL_ENABLE, BXT_DE_PLL_LOCK, 1))
- DRM_ERROR("timeout waiting for DE PLL lock\n");
+ drm_err(&dev_priv->drm, "timeout waiting for DE PLL lock\n");

dev_priv->cdclk.hw.vco = vco;
}
@@ -1444,7 +1453,8 @@ static void cnl_cdclk_pll_disable(struct drm_i915_private *dev_priv)

/* Timeout 200us */
if (wait_for((I915_READ(BXT_DE_PLL_ENABLE) & BXT_DE_PLL_LOCK) == 0, 1))
- DRM_ERROR("timeout waiting for CDCLK PLL unlock\n");
+ drm_err(&dev_priv->drm,
+ "timeout waiting for CDCLK PLL unlock\n");

dev_priv->cdclk.hw.vco = 0;
}
@@ -1462,7 +1472,8 @@ static void cnl_cdclk_pll_enable(struct drm_i915_private *dev_priv, int vco)

/* Timeout 200us */
if (wait_for((I915_READ(BXT_DE_PLL_ENABLE) & BXT_DE_PLL_LOCK) != 0, 1))
- DRM_ERROR("timeout waiting for CDCLK PLL lock\n");
+ drm_err(&dev_priv->drm,
+ "timeout waiting for CDCLK PLL lock\n");

dev_priv->cdclk.hw.vco = vco;
}
@@ -1512,8 +1523,9 @@ static void bxt_set_cdclk(struct drm_i915_private *dev_priv,
0x80000000, 150, 2);

if (ret) {
- DRM_ERROR("Failed to inform PCU about cdclk change (err %d, freq %d)\n",
- ret, cdclk);
+ drm_err(&dev_priv->drm,
+ "Failed to inform PCU about cdclk change (err %d, freq %d)\n",
+ ret, cdclk);
return;
}

@@ -1588,8 +1600,9 @@ static void bxt_set_cdclk(struct drm_i915_private *dev_priv,
}

if (ret) {
- DRM_ERROR("PCode CDCLK freq set failed, (err %d, freq %d)\n",
- ret, cdclk);
+ drm_err(&dev_priv->drm,
+ "PCode CDCLK freq set failed, (err %d, freq %d)\n",
+ ret, cdclk);
return;
}

@@ -1672,7 +1685,7 @@ static void bxt_sanitize_cdclk(struct drm_i915_private *dev_priv)
return;

sanitize:
- DRM_DEBUG_KMS("Sanitizing cdclk programmed by pre-os\n");
+ drm_dbg_kms(&dev_priv->drm, "Sanitizing cdclk programmed by pre-os\n");

/* force cdclk programming */
dev_priv->cdclk.hw.cdclk = 0;
@@ -2005,8 +2018,9 @@ int intel_crtc_compute_min_cdclk(const struct intel_crtc_state *crtc_state)
min_cdclk = max(intel_planes_min_cdclk(crtc_state), min_cdclk);

if (min_cdclk > dev_priv->max_cdclk_freq) {
- DRM_DEBUG_KMS("required cdclk (%d kHz) exceeds max (%d kHz)\n",
- min_cdclk, dev_priv->max_cdclk_freq);
+ drm_dbg_kms(&dev_priv->drm,
+ "required cdclk (%d kHz) exceeds max (%d kHz)\n",
+ min_cdclk, dev_priv->max_cdclk_freq);
return -EINVAL;
}

@@ -2377,8 +2391,9 @@ int intel_modeset_calc_cdclk(struct intel_atomic_state *state)
if (pipe != INVALID_PIPE) {
state->cdclk.pipe = pipe;

- DRM_DEBUG_KMS("Can change cdclk with pipe %c active\n",
- pipe_name(pipe));
+ drm_dbg_kms(&dev_priv->drm,
+ "Can change cdclk with pipe %c active\n",
+ pipe_name(pipe));
} else if (intel_cdclk_needs_modeset(&dev_priv->cdclk.actual,
&state->cdclk.actual)) {
/* All pipes must be switched off while we change the cdclk. */
@@ -2388,15 +2403,18 @@ int intel_modeset_calc_cdclk(struct intel_atomic_state *state)

state->cdclk.pipe = INVALID_PIPE;

- DRM_DEBUG_KMS("Modeset required for cdclk change\n");
+ drm_dbg_kms(&dev_priv->drm,
+ "Modeset required for cdclk change\n");
}

- DRM_DEBUG_KMS("New cdclk calculated to be logical %u kHz, actual %u kHz\n",
- state->cdclk.logical.cdclk,
- state->cdclk.actual.cdclk);
- DRM_DEBUG_KMS("New voltage level calculated to be logical %u, actual %u\n",
- state->cdclk.logical.voltage_level,
- state->cdclk.actual.voltage_level);
+ drm_dbg_kms(&dev_priv->drm,
+ "New cdclk calculated to be logical %u kHz, actual %u kHz\n",
+ state->cdclk.logical.cdclk,
+ state->cdclk.actual.cdclk);
+ drm_dbg_kms(&dev_priv->drm,
+ "New voltage level calculated to be logical %u, actual %u\n",
+ state->cdclk.logical.voltage_level,
+ state->cdclk.actual.voltage_level);

return 0;
}
@@ -2492,11 +2510,11 @@ void intel_update_max_cdclk(struct drm_i915_private *dev_priv)

dev_priv->max_dotclk_freq = intel_compute_max_dotclk(dev_priv);

- DRM_DEBUG_DRIVER("Max CD clock rate: %d kHz\n",
- dev_priv->max_cdclk_freq);
+ drm_dbg(&dev_priv->drm, "Max CD clock rate: %d kHz\n",
+ dev_priv->max_cdclk_freq);

- DRM_DEBUG_DRIVER("Max dotclock rate: %d kHz\n",
- dev_priv->max_dotclk_freq);
+ drm_dbg(&dev_priv->drm, "Max dotclock rate: %d kHz\n",
+ dev_priv->max_dotclk_freq);
}

/**
@@ -2608,7 +2626,8 @@ void intel_update_rawclk(struct drm_i915_private *dev_priv)
/* no rawclk on other platforms, or no need to know it */
return;

- DRM_DEBUG_DRIVER("rawclk rate: %d kHz\n", dev_priv->rawclk_freq);
+ drm_dbg(&dev_priv->drm, "rawclk rate: %d kHz\n",
+ dev_priv->rawclk_freq);
}

/**
--
2.24.1

2020-01-14 14:24:43

by Jani Nikula

[permalink] [raw]
Subject: Re: [PATCH 2/5] drm/i915/audio: convert to new drm logging macros.

On Tue, 14 Jan 2020, Wambui Karuga <[email protected]> wrote:
> Converts the printk based logging macros in i915/display/intel_audio.c
> to the struct drm_device based logging macros.

Couple of comments inline.

BR,
Jani.


> This transformation was achieved using the following coccinelle script
> that matches the existence of the struct drm_i915_private device:
>
> @rule1@
> identifier fn, T;
> @@
>
> fn(struct drm_i915_private *T,...) {
> <+...
> (
> -DRM_INFO(
> +drm_info(&T->drm,
> ...)
> |
> -DRM_ERROR(
> +drm_err(&T->drm,
> ...)
> |
> -DRM_WARN(
> +drm_warn(&T->drm,
> ...)
> |
> -DRM_DEBUG(
> +drm_dbg(&T->drm,
> ...)
> |
> -DRM_DEBUG_DRIVER(
> +drm_dbg(&T->drm,
> ...)
> |
> -DRM_DEBUG_KMS(
> +drm_dbg_kms(&T->drm,
> ...)
> )
> ...+>
> }
>
> @rule2@
> identifier fn, T;
> @@
>
> fn(...) {
> ...
> struct drm_i915_private *T = ...;
> <+...
> (
> -DRM_INFO(
> +drm_info(&T->drm,
> ...)
> |
> -DRM_ERROR(
> +drm_err(&T->drm,
> ...)
> |
> -DRM_WARN(
> +drm_warn(&T->drm,
> ...)
> |
> -DRM_DEBUG(
> +drm_dbg(&T->drm,
> ...)
> |
> -DRM_DEBUG_KMS(
> +drm_dbg_kms(&T->drm,
> ...)
> |
> -DRM_DEBUG_DRIVER(
> +drm_dbg(&T->drm,
> ...)
> )
> ...+>
> }
>
> Checkpatch warnings were manually fixed.
>
> Signed-off-by: Wambui Karuga <[email protected]>
> ---
> drivers/gpu/drm/i915/display/intel_audio.c | 71 ++++++++++++----------
> 1 file changed, 40 insertions(+), 31 deletions(-)
>
> diff --git a/drivers/gpu/drm/i915/display/intel_audio.c b/drivers/gpu/drm/i915/display/intel_audio.c
> index e406719a6716..57208440bf6d 100644
> --- a/drivers/gpu/drm/i915/display/intel_audio.c
> +++ b/drivers/gpu/drm/i915/display/intel_audio.c
> @@ -315,7 +315,7 @@ static void g4x_audio_codec_disable(struct intel_encoder *encoder,
> struct drm_i915_private *dev_priv = to_i915(encoder->base.dev);
> u32 eldv, tmp;
>
> - DRM_DEBUG_KMS("Disable audio codec\n");
> + drm_dbg_kms(&dev_priv->drm, "Disable audio codec\n");
>
> tmp = I915_READ(G4X_AUD_VID_DID);
> if (tmp == INTEL_AUDIO_DEVBLC || tmp == INTEL_AUDIO_DEVCL)
> @@ -340,7 +340,8 @@ static void g4x_audio_codec_enable(struct intel_encoder *encoder,
> u32 tmp;
> int len, i;
>
> - DRM_DEBUG_KMS("Enable audio codec, %u bytes ELD\n", drm_eld_size(eld));
> + drm_dbg_kms(&dev_priv->drm, "Enable audio codec, %u bytes ELD\n",
> + drm_eld_size(eld));
>
> tmp = I915_READ(G4X_AUD_VID_DID);
> if (tmp == INTEL_AUDIO_DEVBLC || tmp == INTEL_AUDIO_DEVCL)
> @@ -360,7 +361,7 @@ static void g4x_audio_codec_enable(struct intel_encoder *encoder,
> I915_WRITE(G4X_AUD_CNTL_ST, tmp);
>
> len = min(drm_eld_size(eld) / 4, len);
> - DRM_DEBUG_DRIVER("ELD size %d\n", len);
> + drm_dbg(&dev_priv->drm, "ELD size %d\n", len);

Please convert this to drm_dbg_kms() while at it.

> for (i = 0; i < len; i++)
> I915_WRITE(G4X_HDMIW_HDMIEDID, *((const u32 *)eld + i));
>
> @@ -384,9 +385,10 @@ hsw_dp_audio_config_update(struct intel_encoder *encoder,
> rate = acomp ? acomp->aud_sample_rate[port] : 0;
> nm = audio_config_dp_get_n_m(crtc_state, rate);
> if (nm)
> - DRM_DEBUG_KMS("using Maud %u, Naud %u\n", nm->m, nm->n);
> + drm_dbg_kms(&dev_priv->drm, "using Maud %u, Naud %u\n", nm->m,
> + nm->n);
> else
> - DRM_DEBUG_KMS("using automatic Maud, Naud\n");
> + drm_dbg_kms(&dev_priv->drm, "using automatic Maud, Naud\n");
>
> tmp = I915_READ(HSW_AUD_CFG(cpu_transcoder));
> tmp &= ~AUD_CONFIG_N_VALUE_INDEX;
> @@ -437,13 +439,13 @@ hsw_hdmi_audio_config_update(struct intel_encoder *encoder,
>
> n = audio_config_hdmi_get_n(crtc_state, rate);
> if (n != 0) {
> - DRM_DEBUG_KMS("using N %d\n", n);
> + drm_dbg_kms(&dev_priv->drm, "using N %d\n", n);
>
> tmp &= ~AUD_CONFIG_N_MASK;
> tmp |= AUD_CONFIG_N(n);
> tmp |= AUD_CONFIG_N_PROG_ENABLE;
> } else {
> - DRM_DEBUG_KMS("using automatic N\n");
> + drm_dbg_kms(&dev_priv->drm, "using automatic N\n");
> }
>
> I915_WRITE(HSW_AUD_CFG(cpu_transcoder), tmp);
> @@ -476,8 +478,8 @@ static void hsw_audio_codec_disable(struct intel_encoder *encoder,
> enum transcoder cpu_transcoder = old_crtc_state->cpu_transcoder;
> u32 tmp;
>
> - DRM_DEBUG_KMS("Disable audio codec on transcoder %s\n",
> - transcoder_name(cpu_transcoder));
> + drm_dbg_kms(&dev_priv->drm, "Disable audio codec on transcoder %s\n",
> + transcoder_name(cpu_transcoder));
>
> mutex_lock(&dev_priv->av_mutex);
>
> @@ -511,8 +513,9 @@ static void hsw_audio_codec_enable(struct intel_encoder *encoder,
> u32 tmp;
> int len, i;
>
> - DRM_DEBUG_KMS("Enable audio codec on transcoder %s, %u bytes ELD\n",
> - transcoder_name(cpu_transcoder), drm_eld_size(eld));
> + drm_dbg_kms(&dev_priv->drm,
> + "Enable audio codec on transcoder %s, %u bytes ELD\n",
> + transcoder_name(cpu_transcoder), drm_eld_size(eld));
>
> mutex_lock(&dev_priv->av_mutex);
>
> @@ -561,9 +564,10 @@ static void ilk_audio_codec_disable(struct intel_encoder *encoder,
> u32 tmp, eldv;
> i915_reg_t aud_config, aud_cntrl_st2;
>
> - DRM_DEBUG_KMS("Disable audio codec on [ENCODER:%d:%s], pipe %c\n",
> - encoder->base.base.id, encoder->base.name,
> - pipe_name(pipe));
> + drm_dbg_kms(&dev_priv->drm,
> + "Disable audio codec on [ENCODER:%d:%s], pipe %c\n",
> + encoder->base.base.id, encoder->base.name,
> + pipe_name(pipe));
>
> if (WARN_ON(port == PORT_A))
> return;
> @@ -611,9 +615,10 @@ static void ilk_audio_codec_enable(struct intel_encoder *encoder,
> int len, i;
> i915_reg_t hdmiw_hdmiedid, aud_config, aud_cntl_st, aud_cntrl_st2;
>
> - DRM_DEBUG_KMS("Enable audio codec on [ENCODER:%d:%s], pipe %c, %u bytes ELD\n",
> - encoder->base.base.id, encoder->base.name,
> - pipe_name(pipe), drm_eld_size(eld));
> + drm_dbg_kms(&dev_priv->drm,
> + "Enable audio codec on [ENCODER:%d:%s], pipe %c, %u bytes ELD\n",
> + encoder->base.base.id, encoder->base.name,
> + pipe_name(pipe), drm_eld_size(eld));
>
> if (WARN_ON(port == PORT_A))
> return;
> @@ -701,14 +706,13 @@ void intel_audio_codec_enable(struct intel_encoder *encoder,
>
> /* FIXME precompute the ELD in .compute_config() */
> if (!connector->eld[0])
> - DRM_DEBUG_KMS("Bogus ELD on [CONNECTOR:%d:%s]\n",
> - connector->base.id, connector->name);
> + drm_dbg_kms(&dev_priv->drm,
> + "Bogus ELD on [CONNECTOR:%d:%s]\n",
> + connector->base.id, connector->name);
>
> - DRM_DEBUG_DRIVER("ELD on [CONNECTOR:%d:%s], [ENCODER:%d:%s]\n",
> - connector->base.id,
> - connector->name,
> - connector->encoder->base.id,
> - connector->encoder->name);
> + drm_dbg(&dev_priv->drm, "ELD on [CONNECTOR:%d:%s], [ENCODER:%d:%s]\n",
> + connector->base.id, connector->name,
> + connector->encoder->base.id, connector->encoder->name);

Please convert this to drm_dbg_kms() while at it.

>
> connector->eld[6] = drm_av_sync_delay(connector, adjusted_mode) / 2;
>
> @@ -851,8 +855,9 @@ static unsigned long i915_audio_component_get_power(struct device *kdev)
> if (dev_priv->audio_power_refcount++ == 0) {
> if (IS_TIGERLAKE(dev_priv) || IS_ICELAKE(dev_priv)) {
> I915_WRITE(AUD_FREQ_CNTRL, dev_priv->audio_freq_cntrl);
> - DRM_DEBUG_KMS("restored AUD_FREQ_CNTRL to 0x%x\n",
> - dev_priv->audio_freq_cntrl);
> + drm_dbg_kms(&dev_priv->drm,
> + "restored AUD_FREQ_CNTRL to 0x%x\n",
> + dev_priv->audio_freq_cntrl);
> }
>
> /* Force CDCLK to 2*BCLK as long as we need audio powered. */
> @@ -992,7 +997,8 @@ static int i915_audio_component_sync_audio_rate(struct device *kdev, int port,
> /* 1. get the pipe */
> encoder = get_saved_enc(dev_priv, port, pipe);
> if (!encoder || !encoder->base.crtc) {
> - DRM_DEBUG_KMS("Not valid for port %c\n", port_name(port));
> + drm_dbg_kms(&dev_priv->drm, "Not valid for port %c\n",
> + port_name(port));
> err = -ENODEV;
> goto unlock;
> }
> @@ -1023,7 +1029,8 @@ static int i915_audio_component_get_eld(struct device *kdev, int port,
>
> intel_encoder = get_saved_enc(dev_priv, port, pipe);
> if (!intel_encoder) {
> - DRM_DEBUG_KMS("Not valid for port %c\n", port_name(port));
> + drm_dbg_kms(&dev_priv->drm, "Not valid for port %c\n",
> + port_name(port));
> mutex_unlock(&dev_priv->av_mutex);
> return ret;
> }
> @@ -1119,15 +1126,17 @@ static void i915_audio_component_init(struct drm_i915_private *dev_priv)
> &i915_audio_component_bind_ops,
> I915_COMPONENT_AUDIO);
> if (ret < 0) {
> - DRM_ERROR("failed to add audio component (%d)\n", ret);
> + drm_err(&dev_priv->drm,
> + "failed to add audio component (%d)\n", ret);
> /* continue with reduced functionality */
> return;
> }
>
> if (IS_TIGERLAKE(dev_priv) || IS_ICELAKE(dev_priv)) {
> dev_priv->audio_freq_cntrl = I915_READ(AUD_FREQ_CNTRL);
> - DRM_DEBUG_KMS("init value of AUD_FREQ_CNTRL of 0x%x\n",
> - dev_priv->audio_freq_cntrl);
> + drm_dbg_kms(&dev_priv->drm,
> + "init value of AUD_FREQ_CNTRL of 0x%x\n",
> + dev_priv->audio_freq_cntrl);
> }
>
> dev_priv->audio_component_registered = true;

--
Jani Nikula, Intel Open Source Graphics Center

2020-01-14 14:25:54

by Jani Nikula

[permalink] [raw]
Subject: Re: [PATCH 2/5] drm/i915/audio: convert to new drm logging macros.

On Tue, 14 Jan 2020, Jani Nikula <[email protected]> wrote:
> On Tue, 14 Jan 2020, Wambui Karuga <[email protected]> wrote:
>> Converts the printk based logging macros in i915/display/intel_audio.c
>> to the struct drm_device based logging macros.
>
> Couple of comments inline.

PS. This is

Reviewed-by: Jani Nikula <[email protected]>

and I'm fine with the requested changes being applied as separate
patches as long as they happen.


>
> BR,
> Jani.
>
>
>> This transformation was achieved using the following coccinelle script
>> that matches the existence of the struct drm_i915_private device:
>>
>> @rule1@
>> identifier fn, T;
>> @@
>>
>> fn(struct drm_i915_private *T,...) {
>> <+...
>> (
>> -DRM_INFO(
>> +drm_info(&T->drm,
>> ...)
>> |
>> -DRM_ERROR(
>> +drm_err(&T->drm,
>> ...)
>> |
>> -DRM_WARN(
>> +drm_warn(&T->drm,
>> ...)
>> |
>> -DRM_DEBUG(
>> +drm_dbg(&T->drm,
>> ...)
>> |
>> -DRM_DEBUG_DRIVER(
>> +drm_dbg(&T->drm,
>> ...)
>> |
>> -DRM_DEBUG_KMS(
>> +drm_dbg_kms(&T->drm,
>> ...)
>> )
>> ...+>
>> }
>>
>> @rule2@
>> identifier fn, T;
>> @@
>>
>> fn(...) {
>> ...
>> struct drm_i915_private *T = ...;
>> <+...
>> (
>> -DRM_INFO(
>> +drm_info(&T->drm,
>> ...)
>> |
>> -DRM_ERROR(
>> +drm_err(&T->drm,
>> ...)
>> |
>> -DRM_WARN(
>> +drm_warn(&T->drm,
>> ...)
>> |
>> -DRM_DEBUG(
>> +drm_dbg(&T->drm,
>> ...)
>> |
>> -DRM_DEBUG_KMS(
>> +drm_dbg_kms(&T->drm,
>> ...)
>> |
>> -DRM_DEBUG_DRIVER(
>> +drm_dbg(&T->drm,
>> ...)
>> )
>> ...+>
>> }
>>
>> Checkpatch warnings were manually fixed.
>>
>> Signed-off-by: Wambui Karuga <[email protected]>
>> ---
>> drivers/gpu/drm/i915/display/intel_audio.c | 71 ++++++++++++----------
>> 1 file changed, 40 insertions(+), 31 deletions(-)
>>
>> diff --git a/drivers/gpu/drm/i915/display/intel_audio.c b/drivers/gpu/drm/i915/display/intel_audio.c
>> index e406719a6716..57208440bf6d 100644
>> --- a/drivers/gpu/drm/i915/display/intel_audio.c
>> +++ b/drivers/gpu/drm/i915/display/intel_audio.c
>> @@ -315,7 +315,7 @@ static void g4x_audio_codec_disable(struct intel_encoder *encoder,
>> struct drm_i915_private *dev_priv = to_i915(encoder->base.dev);
>> u32 eldv, tmp;
>>
>> - DRM_DEBUG_KMS("Disable audio codec\n");
>> + drm_dbg_kms(&dev_priv->drm, "Disable audio codec\n");
>>
>> tmp = I915_READ(G4X_AUD_VID_DID);
>> if (tmp == INTEL_AUDIO_DEVBLC || tmp == INTEL_AUDIO_DEVCL)
>> @@ -340,7 +340,8 @@ static void g4x_audio_codec_enable(struct intel_encoder *encoder,
>> u32 tmp;
>> int len, i;
>>
>> - DRM_DEBUG_KMS("Enable audio codec, %u bytes ELD\n", drm_eld_size(eld));
>> + drm_dbg_kms(&dev_priv->drm, "Enable audio codec, %u bytes ELD\n",
>> + drm_eld_size(eld));
>>
>> tmp = I915_READ(G4X_AUD_VID_DID);
>> if (tmp == INTEL_AUDIO_DEVBLC || tmp == INTEL_AUDIO_DEVCL)
>> @@ -360,7 +361,7 @@ static void g4x_audio_codec_enable(struct intel_encoder *encoder,
>> I915_WRITE(G4X_AUD_CNTL_ST, tmp);
>>
>> len = min(drm_eld_size(eld) / 4, len);
>> - DRM_DEBUG_DRIVER("ELD size %d\n", len);
>> + drm_dbg(&dev_priv->drm, "ELD size %d\n", len);
>
> Please convert this to drm_dbg_kms() while at it.
>
>> for (i = 0; i < len; i++)
>> I915_WRITE(G4X_HDMIW_HDMIEDID, *((const u32 *)eld + i));
>>
>> @@ -384,9 +385,10 @@ hsw_dp_audio_config_update(struct intel_encoder *encoder,
>> rate = acomp ? acomp->aud_sample_rate[port] : 0;
>> nm = audio_config_dp_get_n_m(crtc_state, rate);
>> if (nm)
>> - DRM_DEBUG_KMS("using Maud %u, Naud %u\n", nm->m, nm->n);
>> + drm_dbg_kms(&dev_priv->drm, "using Maud %u, Naud %u\n", nm->m,
>> + nm->n);
>> else
>> - DRM_DEBUG_KMS("using automatic Maud, Naud\n");
>> + drm_dbg_kms(&dev_priv->drm, "using automatic Maud, Naud\n");
>>
>> tmp = I915_READ(HSW_AUD_CFG(cpu_transcoder));
>> tmp &= ~AUD_CONFIG_N_VALUE_INDEX;
>> @@ -437,13 +439,13 @@ hsw_hdmi_audio_config_update(struct intel_encoder *encoder,
>>
>> n = audio_config_hdmi_get_n(crtc_state, rate);
>> if (n != 0) {
>> - DRM_DEBUG_KMS("using N %d\n", n);
>> + drm_dbg_kms(&dev_priv->drm, "using N %d\n", n);
>>
>> tmp &= ~AUD_CONFIG_N_MASK;
>> tmp |= AUD_CONFIG_N(n);
>> tmp |= AUD_CONFIG_N_PROG_ENABLE;
>> } else {
>> - DRM_DEBUG_KMS("using automatic N\n");
>> + drm_dbg_kms(&dev_priv->drm, "using automatic N\n");
>> }
>>
>> I915_WRITE(HSW_AUD_CFG(cpu_transcoder), tmp);
>> @@ -476,8 +478,8 @@ static void hsw_audio_codec_disable(struct intel_encoder *encoder,
>> enum transcoder cpu_transcoder = old_crtc_state->cpu_transcoder;
>> u32 tmp;
>>
>> - DRM_DEBUG_KMS("Disable audio codec on transcoder %s\n",
>> - transcoder_name(cpu_transcoder));
>> + drm_dbg_kms(&dev_priv->drm, "Disable audio codec on transcoder %s\n",
>> + transcoder_name(cpu_transcoder));
>>
>> mutex_lock(&dev_priv->av_mutex);
>>
>> @@ -511,8 +513,9 @@ static void hsw_audio_codec_enable(struct intel_encoder *encoder,
>> u32 tmp;
>> int len, i;
>>
>> - DRM_DEBUG_KMS("Enable audio codec on transcoder %s, %u bytes ELD\n",
>> - transcoder_name(cpu_transcoder), drm_eld_size(eld));
>> + drm_dbg_kms(&dev_priv->drm,
>> + "Enable audio codec on transcoder %s, %u bytes ELD\n",
>> + transcoder_name(cpu_transcoder), drm_eld_size(eld));
>>
>> mutex_lock(&dev_priv->av_mutex);
>>
>> @@ -561,9 +564,10 @@ static void ilk_audio_codec_disable(struct intel_encoder *encoder,
>> u32 tmp, eldv;
>> i915_reg_t aud_config, aud_cntrl_st2;
>>
>> - DRM_DEBUG_KMS("Disable audio codec on [ENCODER:%d:%s], pipe %c\n",
>> - encoder->base.base.id, encoder->base.name,
>> - pipe_name(pipe));
>> + drm_dbg_kms(&dev_priv->drm,
>> + "Disable audio codec on [ENCODER:%d:%s], pipe %c\n",
>> + encoder->base.base.id, encoder->base.name,
>> + pipe_name(pipe));
>>
>> if (WARN_ON(port == PORT_A))
>> return;
>> @@ -611,9 +615,10 @@ static void ilk_audio_codec_enable(struct intel_encoder *encoder,
>> int len, i;
>> i915_reg_t hdmiw_hdmiedid, aud_config, aud_cntl_st, aud_cntrl_st2;
>>
>> - DRM_DEBUG_KMS("Enable audio codec on [ENCODER:%d:%s], pipe %c, %u bytes ELD\n",
>> - encoder->base.base.id, encoder->base.name,
>> - pipe_name(pipe), drm_eld_size(eld));
>> + drm_dbg_kms(&dev_priv->drm,
>> + "Enable audio codec on [ENCODER:%d:%s], pipe %c, %u bytes ELD\n",
>> + encoder->base.base.id, encoder->base.name,
>> + pipe_name(pipe), drm_eld_size(eld));
>>
>> if (WARN_ON(port == PORT_A))
>> return;
>> @@ -701,14 +706,13 @@ void intel_audio_codec_enable(struct intel_encoder *encoder,
>>
>> /* FIXME precompute the ELD in .compute_config() */
>> if (!connector->eld[0])
>> - DRM_DEBUG_KMS("Bogus ELD on [CONNECTOR:%d:%s]\n",
>> - connector->base.id, connector->name);
>> + drm_dbg_kms(&dev_priv->drm,
>> + "Bogus ELD on [CONNECTOR:%d:%s]\n",
>> + connector->base.id, connector->name);
>>
>> - DRM_DEBUG_DRIVER("ELD on [CONNECTOR:%d:%s], [ENCODER:%d:%s]\n",
>> - connector->base.id,
>> - connector->name,
>> - connector->encoder->base.id,
>> - connector->encoder->name);
>> + drm_dbg(&dev_priv->drm, "ELD on [CONNECTOR:%d:%s], [ENCODER:%d:%s]\n",
>> + connector->base.id, connector->name,
>> + connector->encoder->base.id, connector->encoder->name);
>
> Please convert this to drm_dbg_kms() while at it.
>
>>
>> connector->eld[6] = drm_av_sync_delay(connector, adjusted_mode) / 2;
>>
>> @@ -851,8 +855,9 @@ static unsigned long i915_audio_component_get_power(struct device *kdev)
>> if (dev_priv->audio_power_refcount++ == 0) {
>> if (IS_TIGERLAKE(dev_priv) || IS_ICELAKE(dev_priv)) {
>> I915_WRITE(AUD_FREQ_CNTRL, dev_priv->audio_freq_cntrl);
>> - DRM_DEBUG_KMS("restored AUD_FREQ_CNTRL to 0x%x\n",
>> - dev_priv->audio_freq_cntrl);
>> + drm_dbg_kms(&dev_priv->drm,
>> + "restored AUD_FREQ_CNTRL to 0x%x\n",
>> + dev_priv->audio_freq_cntrl);
>> }
>>
>> /* Force CDCLK to 2*BCLK as long as we need audio powered. */
>> @@ -992,7 +997,8 @@ static int i915_audio_component_sync_audio_rate(struct device *kdev, int port,
>> /* 1. get the pipe */
>> encoder = get_saved_enc(dev_priv, port, pipe);
>> if (!encoder || !encoder->base.crtc) {
>> - DRM_DEBUG_KMS("Not valid for port %c\n", port_name(port));
>> + drm_dbg_kms(&dev_priv->drm, "Not valid for port %c\n",
>> + port_name(port));
>> err = -ENODEV;
>> goto unlock;
>> }
>> @@ -1023,7 +1029,8 @@ static int i915_audio_component_get_eld(struct device *kdev, int port,
>>
>> intel_encoder = get_saved_enc(dev_priv, port, pipe);
>> if (!intel_encoder) {
>> - DRM_DEBUG_KMS("Not valid for port %c\n", port_name(port));
>> + drm_dbg_kms(&dev_priv->drm, "Not valid for port %c\n",
>> + port_name(port));
>> mutex_unlock(&dev_priv->av_mutex);
>> return ret;
>> }
>> @@ -1119,15 +1126,17 @@ static void i915_audio_component_init(struct drm_i915_private *dev_priv)
>> &i915_audio_component_bind_ops,
>> I915_COMPONENT_AUDIO);
>> if (ret < 0) {
>> - DRM_ERROR("failed to add audio component (%d)\n", ret);
>> + drm_err(&dev_priv->drm,
>> + "failed to add audio component (%d)\n", ret);
>> /* continue with reduced functionality */
>> return;
>> }
>>
>> if (IS_TIGERLAKE(dev_priv) || IS_ICELAKE(dev_priv)) {
>> dev_priv->audio_freq_cntrl = I915_READ(AUD_FREQ_CNTRL);
>> - DRM_DEBUG_KMS("init value of AUD_FREQ_CNTRL of 0x%x\n",
>> - dev_priv->audio_freq_cntrl);
>> + drm_dbg_kms(&dev_priv->drm,
>> + "init value of AUD_FREQ_CNTRL of 0x%x\n",
>> + dev_priv->audio_freq_cntrl);
>> }
>>
>> dev_priv->audio_component_registered = true;

--
Jani Nikula, Intel Open Source Graphics Center

2020-01-14 15:01:44

by Wambui Karuga

[permalink] [raw]
Subject: Re: [PATCH 2/5] drm/i915/audio: convert to new drm logging macros.



On Tue, 14 Jan 2020, Jani Nikula wrote:

> On Tue, 14 Jan 2020, Jani Nikula <[email protected]> wrote:
>> On Tue, 14 Jan 2020, Wambui Karuga <[email protected]> wrote:
>>> Converts the printk based logging macros in i915/display/intel_audio.c
>>> to the struct drm_device based logging macros.
>>
>> Couple of comments inline.
>
> PS. This is
>
> Reviewed-by: Jani Nikula <[email protected]>
>
> and I'm fine with the requested changes being applied as separate
> patches as long as they happen.
>
>
Sure, I think a separate patch for those changes might be best.
I'll do that.

Thanks,
wambui.
>>
>> BR,
>> Jani.
>>
>>
>>> This transformation was achieved using the following coccinelle script
>>> that matches the existence of the struct drm_i915_private device:
>>>
>>> @rule1@
>>> identifier fn, T;
>>> @@
>>>
>>> fn(struct drm_i915_private *T,...) {
>>> <+...
>>> (
>>> -DRM_INFO(
>>> +drm_info(&T->drm,
>>> ...)
>>> |
>>> -DRM_ERROR(
>>> +drm_err(&T->drm,
>>> ...)
>>> |
>>> -DRM_WARN(
>>> +drm_warn(&T->drm,
>>> ...)
>>> |
>>> -DRM_DEBUG(
>>> +drm_dbg(&T->drm,
>>> ...)
>>> |
>>> -DRM_DEBUG_DRIVER(
>>> +drm_dbg(&T->drm,
>>> ...)
>>> |
>>> -DRM_DEBUG_KMS(
>>> +drm_dbg_kms(&T->drm,
>>> ...)
>>> )
>>> ...+>
>>> }
>>>
>>> @rule2@
>>> identifier fn, T;
>>> @@
>>>
>>> fn(...) {
>>> ...
>>> struct drm_i915_private *T = ...;
>>> <+...
>>> (
>>> -DRM_INFO(
>>> +drm_info(&T->drm,
>>> ...)
>>> |
>>> -DRM_ERROR(
>>> +drm_err(&T->drm,
>>> ...)
>>> |
>>> -DRM_WARN(
>>> +drm_warn(&T->drm,
>>> ...)
>>> |
>>> -DRM_DEBUG(
>>> +drm_dbg(&T->drm,
>>> ...)
>>> |
>>> -DRM_DEBUG_KMS(
>>> +drm_dbg_kms(&T->drm,
>>> ...)
>>> |
>>> -DRM_DEBUG_DRIVER(
>>> +drm_dbg(&T->drm,
>>> ...)
>>> )
>>> ...+>
>>> }
>>>
>>> Checkpatch warnings were manually fixed.
>>>
>>> Signed-off-by: Wambui Karuga <[email protected]>
>>> ---
>>> drivers/gpu/drm/i915/display/intel_audio.c | 71 ++++++++++++----------
>>> 1 file changed, 40 insertions(+), 31 deletions(-)
>>>
>>> diff --git a/drivers/gpu/drm/i915/display/intel_audio.c b/drivers/gpu/drm/i915/display/intel_audio.c
>>> index e406719a6716..57208440bf6d 100644
>>> --- a/drivers/gpu/drm/i915/display/intel_audio.c
>>> +++ b/drivers/gpu/drm/i915/display/intel_audio.c
>>> @@ -315,7 +315,7 @@ static void g4x_audio_codec_disable(struct intel_encoder *encoder,
>>> struct drm_i915_private *dev_priv = to_i915(encoder->base.dev);
>>> u32 eldv, tmp;
>>>
>>> - DRM_DEBUG_KMS("Disable audio codec\n");
>>> + drm_dbg_kms(&dev_priv->drm, "Disable audio codec\n");
>>>
>>> tmp = I915_READ(G4X_AUD_VID_DID);
>>> if (tmp == INTEL_AUDIO_DEVBLC || tmp == INTEL_AUDIO_DEVCL)
>>> @@ -340,7 +340,8 @@ static void g4x_audio_codec_enable(struct intel_encoder *encoder,
>>> u32 tmp;
>>> int len, i;
>>>
>>> - DRM_DEBUG_KMS("Enable audio codec, %u bytes ELD\n", drm_eld_size(eld));
>>> + drm_dbg_kms(&dev_priv->drm, "Enable audio codec, %u bytes ELD\n",
>>> + drm_eld_size(eld));
>>>
>>> tmp = I915_READ(G4X_AUD_VID_DID);
>>> if (tmp == INTEL_AUDIO_DEVBLC || tmp == INTEL_AUDIO_DEVCL)
>>> @@ -360,7 +361,7 @@ static void g4x_audio_codec_enable(struct intel_encoder *encoder,
>>> I915_WRITE(G4X_AUD_CNTL_ST, tmp);
>>>
>>> len = min(drm_eld_size(eld) / 4, len);
>>> - DRM_DEBUG_DRIVER("ELD size %d\n", len);
>>> + drm_dbg(&dev_priv->drm, "ELD size %d\n", len);
>>
>> Please convert this to drm_dbg_kms() while at it.
>>
>>> for (i = 0; i < len; i++)
>>> I915_WRITE(G4X_HDMIW_HDMIEDID, *((const u32 *)eld + i));
>>>
>>> @@ -384,9 +385,10 @@ hsw_dp_audio_config_update(struct intel_encoder *encoder,
>>> rate = acomp ? acomp->aud_sample_rate[port] : 0;
>>> nm = audio_config_dp_get_n_m(crtc_state, rate);
>>> if (nm)
>>> - DRM_DEBUG_KMS("using Maud %u, Naud %u\n", nm->m, nm->n);
>>> + drm_dbg_kms(&dev_priv->drm, "using Maud %u, Naud %u\n", nm->m,
>>> + nm->n);
>>> else
>>> - DRM_DEBUG_KMS("using automatic Maud, Naud\n");
>>> + drm_dbg_kms(&dev_priv->drm, "using automatic Maud, Naud\n");
>>>
>>> tmp = I915_READ(HSW_AUD_CFG(cpu_transcoder));
>>> tmp &= ~AUD_CONFIG_N_VALUE_INDEX;
>>> @@ -437,13 +439,13 @@ hsw_hdmi_audio_config_update(struct intel_encoder *encoder,
>>>
>>> n = audio_config_hdmi_get_n(crtc_state, rate);
>>> if (n != 0) {
>>> - DRM_DEBUG_KMS("using N %d\n", n);
>>> + drm_dbg_kms(&dev_priv->drm, "using N %d\n", n);
>>>
>>> tmp &= ~AUD_CONFIG_N_MASK;
>>> tmp |= AUD_CONFIG_N(n);
>>> tmp |= AUD_CONFIG_N_PROG_ENABLE;
>>> } else {
>>> - DRM_DEBUG_KMS("using automatic N\n");
>>> + drm_dbg_kms(&dev_priv->drm, "using automatic N\n");
>>> }
>>>
>>> I915_WRITE(HSW_AUD_CFG(cpu_transcoder), tmp);
>>> @@ -476,8 +478,8 @@ static void hsw_audio_codec_disable(struct intel_encoder *encoder,
>>> enum transcoder cpu_transcoder = old_crtc_state->cpu_transcoder;
>>> u32 tmp;
>>>
>>> - DRM_DEBUG_KMS("Disable audio codec on transcoder %s\n",
>>> - transcoder_name(cpu_transcoder));
>>> + drm_dbg_kms(&dev_priv->drm, "Disable audio codec on transcoder %s\n",
>>> + transcoder_name(cpu_transcoder));
>>>
>>> mutex_lock(&dev_priv->av_mutex);
>>>
>>> @@ -511,8 +513,9 @@ static void hsw_audio_codec_enable(struct intel_encoder *encoder,
>>> u32 tmp;
>>> int len, i;
>>>
>>> - DRM_DEBUG_KMS("Enable audio codec on transcoder %s, %u bytes ELD\n",
>>> - transcoder_name(cpu_transcoder), drm_eld_size(eld));
>>> + drm_dbg_kms(&dev_priv->drm,
>>> + "Enable audio codec on transcoder %s, %u bytes ELD\n",
>>> + transcoder_name(cpu_transcoder), drm_eld_size(eld));
>>>
>>> mutex_lock(&dev_priv->av_mutex);
>>>
>>> @@ -561,9 +564,10 @@ static void ilk_audio_codec_disable(struct intel_encoder *encoder,
>>> u32 tmp, eldv;
>>> i915_reg_t aud_config, aud_cntrl_st2;
>>>
>>> - DRM_DEBUG_KMS("Disable audio codec on [ENCODER:%d:%s], pipe %c\n",
>>> - encoder->base.base.id, encoder->base.name,
>>> - pipe_name(pipe));
>>> + drm_dbg_kms(&dev_priv->drm,
>>> + "Disable audio codec on [ENCODER:%d:%s], pipe %c\n",
>>> + encoder->base.base.id, encoder->base.name,
>>> + pipe_name(pipe));
>>>
>>> if (WARN_ON(port == PORT_A))
>>> return;
>>> @@ -611,9 +615,10 @@ static void ilk_audio_codec_enable(struct intel_encoder *encoder,
>>> int len, i;
>>> i915_reg_t hdmiw_hdmiedid, aud_config, aud_cntl_st, aud_cntrl_st2;
>>>
>>> - DRM_DEBUG_KMS("Enable audio codec on [ENCODER:%d:%s], pipe %c, %u bytes ELD\n",
>>> - encoder->base.base.id, encoder->base.name,
>>> - pipe_name(pipe), drm_eld_size(eld));
>>> + drm_dbg_kms(&dev_priv->drm,
>>> + "Enable audio codec on [ENCODER:%d:%s], pipe %c, %u bytes ELD\n",
>>> + encoder->base.base.id, encoder->base.name,
>>> + pipe_name(pipe), drm_eld_size(eld));
>>>
>>> if (WARN_ON(port == PORT_A))
>>> return;
>>> @@ -701,14 +706,13 @@ void intel_audio_codec_enable(struct intel_encoder *encoder,
>>>
>>> /* FIXME precompute the ELD in .compute_config() */
>>> if (!connector->eld[0])
>>> - DRM_DEBUG_KMS("Bogus ELD on [CONNECTOR:%d:%s]\n",
>>> - connector->base.id, connector->name);
>>> + drm_dbg_kms(&dev_priv->drm,
>>> + "Bogus ELD on [CONNECTOR:%d:%s]\n",
>>> + connector->base.id, connector->name);
>>>
>>> - DRM_DEBUG_DRIVER("ELD on [CONNECTOR:%d:%s], [ENCODER:%d:%s]\n",
>>> - connector->base.id,
>>> - connector->name,
>>> - connector->encoder->base.id,
>>> - connector->encoder->name);
>>> + drm_dbg(&dev_priv->drm, "ELD on [CONNECTOR:%d:%s], [ENCODER:%d:%s]\n",
>>> + connector->base.id, connector->name,
>>> + connector->encoder->base.id, connector->encoder->name);
>>
>> Please convert this to drm_dbg_kms() while at it.
>>
>>>
>>> connector->eld[6] = drm_av_sync_delay(connector, adjusted_mode) / 2;
>>>
>>> @@ -851,8 +855,9 @@ static unsigned long i915_audio_component_get_power(struct device *kdev)
>>> if (dev_priv->audio_power_refcount++ == 0) {
>>> if (IS_TIGERLAKE(dev_priv) || IS_ICELAKE(dev_priv)) {
>>> I915_WRITE(AUD_FREQ_CNTRL, dev_priv->audio_freq_cntrl);
>>> - DRM_DEBUG_KMS("restored AUD_FREQ_CNTRL to 0x%x\n",
>>> - dev_priv->audio_freq_cntrl);
>>> + drm_dbg_kms(&dev_priv->drm,
>>> + "restored AUD_FREQ_CNTRL to 0x%x\n",
>>> + dev_priv->audio_freq_cntrl);
>>> }
>>>
>>> /* Force CDCLK to 2*BCLK as long as we need audio powered. */
>>> @@ -992,7 +997,8 @@ static int i915_audio_component_sync_audio_rate(struct device *kdev, int port,
>>> /* 1. get the pipe */
>>> encoder = get_saved_enc(dev_priv, port, pipe);
>>> if (!encoder || !encoder->base.crtc) {
>>> - DRM_DEBUG_KMS("Not valid for port %c\n", port_name(port));
>>> + drm_dbg_kms(&dev_priv->drm, "Not valid for port %c\n",
>>> + port_name(port));
>>> err = -ENODEV;
>>> goto unlock;
>>> }
>>> @@ -1023,7 +1029,8 @@ static int i915_audio_component_get_eld(struct device *kdev, int port,
>>>
>>> intel_encoder = get_saved_enc(dev_priv, port, pipe);
>>> if (!intel_encoder) {
>>> - DRM_DEBUG_KMS("Not valid for port %c\n", port_name(port));
>>> + drm_dbg_kms(&dev_priv->drm, "Not valid for port %c\n",
>>> + port_name(port));
>>> mutex_unlock(&dev_priv->av_mutex);
>>> return ret;
>>> }
>>> @@ -1119,15 +1126,17 @@ static void i915_audio_component_init(struct drm_i915_private *dev_priv)
>>> &i915_audio_component_bind_ops,
>>> I915_COMPONENT_AUDIO);
>>> if (ret < 0) {
>>> - DRM_ERROR("failed to add audio component (%d)\n", ret);
>>> + drm_err(&dev_priv->drm,
>>> + "failed to add audio component (%d)\n", ret);
>>> /* continue with reduced functionality */
>>> return;
>>> }
>>>
>>> if (IS_TIGERLAKE(dev_priv) || IS_ICELAKE(dev_priv)) {
>>> dev_priv->audio_freq_cntrl = I915_READ(AUD_FREQ_CNTRL);
>>> - DRM_DEBUG_KMS("init value of AUD_FREQ_CNTRL of 0x%x\n",
>>> - dev_priv->audio_freq_cntrl);
>>> + drm_dbg_kms(&dev_priv->drm,
>>> + "init value of AUD_FREQ_CNTRL of 0x%x\n",
>>> + dev_priv->audio_freq_cntrl);
>>> }
>>>
>>> dev_priv->audio_component_registered = true;
>
> --
> Jani Nikula, Intel Open Source Graphics Center
>