Nouveau Archive on lore.kernel.org
 help / color / Atom feed
From: Robert Foss <robert.foss@linaro.org>
To: Lyude Paul <lyude@redhat.com>
Cc: "Maxime Ripard" <mripard@kernel.org>,
	dri-devel <dri-devel@lists.freedesktop.org>,
	"David Airlie" <airlied@linux.ie>,
	nouveau@lists.freedesktop.org, intel-gfx@lists.freedesktop.org,
	"Maarten Lankhorst" <maarten.lankhorst@linux.intel.com>,
	"open list" <linux-kernel@vger.kernel.org>,
	"Jani Nikula" <jani.nikula@linux.intel.com>,
	amd-gfx@lists.freedesktop.org,
	"Rodrigo Vivi" <rodrigo.vivi@intel.com>,
	"Daniel Vetter" <daniel@ffwll.ch>,
	"Ville Syrjälä" <ville.syrjala@linux.intel.com>
Subject: Re: [Nouveau] [PATCH 28/30] drm/dp: Convert drm_dp_helper.c to using drm_err/drm_dbg_*()
Date: Fri, 19 Mar 2021 12:39:38 +0100
Message-ID: <CAG3jFyveBSyS7k9D44m5e=8+HSvVsVhkXOokxyFOcRYDvHmWSw@mail.gmail.com> (raw)
In-Reply-To: <20210219215326.2227596-29-lyude@redhat.com>

Hey Lyude,

Thanks for the patch.

On Fri, 19 Feb 2021 at 23:03, Lyude Paul <lyude@redhat.com> wrote:
>
> Now that we've added a back-pointer to drm_device to drm_dp_aux, made
> drm_dp_aux available to any functions in drm_dp_helper.c which need to
> print to the kernel log, and ensured all of our logging uses a consistent
> format, let's do the final step of the conversion and actually move
> everything over to using drm_err() and drm_dbg_*().
>
> This was done by using the following cocci script:
>
>   @@
>   expression list expr;
>   @@
>
>   (
>   - DRM_DEBUG_KMS(expr);
>   + drm_dbg_kms(aux->drm_dev, expr);
>   |
>   - DRM_DEBUG_DP(expr);
>   + drm_dbg_dp(aux->drm_dev, expr);
>   |
>   - DRM_DEBUG_ATOMIC(expr);
>   + drm_dbg_atomic(aux->drm_dev, expr);
>   |
>   - DRM_DEBUG_KMS_RATELIMITED(expr);
>   + drm_dbg_kms_ratelimited(aux->drm_dev, expr);
>   |
>   - DRM_ERROR(expr);
>   + drm_err(aux->drm_dev, expr);
>   )
>
> Followed by correcting the resulting line-wrapping in the results by hand.
>
> Signed-off-by: Lyude Paul <lyude@redhat.com>
> ---
>  drivers/gpu/drm/drm_dp_helper.c | 122 ++++++++++++++++----------------
>  1 file changed, 60 insertions(+), 62 deletions(-)
>
> diff --git a/drivers/gpu/drm/drm_dp_helper.c b/drivers/gpu/drm/drm_dp_helper.c
> index b5e2671baf22..0a787ddf39fd 100644
> --- a/drivers/gpu/drm/drm_dp_helper.c
> +++ b/drivers/gpu/drm/drm_dp_helper.c
> @@ -139,8 +139,8 @@ void drm_dp_link_train_clock_recovery_delay(const struct drm_dp_aux *aux,
>                                          DP_TRAINING_AUX_RD_MASK;
>
>         if (rd_interval > 4)
> -               DRM_DEBUG_KMS("%s: AUX interval %lu, out of range (max 4)\n",
> -                             aux->name, rd_interval);
> +               drm_dbg_kms(aux->drm_dev, "%s: AUX interval %lu, out of range (max 4)\n",
> +                           aux->name, rd_interval);
>
>         if (rd_interval == 0 || dpcd[DP_DPCD_REV] >= DP_DPCD_REV_14)
>                 rd_interval = 100;
> @@ -155,8 +155,8 @@ static void __drm_dp_link_train_channel_eq_delay(const struct drm_dp_aux *aux,
>                                                  unsigned long rd_interval)
>  {
>         if (rd_interval > 4)
> -               DRM_DEBUG_KMS("%s: AUX interval %lu, out of range (max 4)\n",
> -                             aux->name, rd_interval);
> +               drm_dbg_kms(aux->drm_dev, "%s: AUX interval %lu, out of range (max 4)\n",
> +                           aux->name, rd_interval);
>
>         if (rd_interval == 0)
>                 rd_interval = 400;
> @@ -220,11 +220,12 @@ drm_dp_dump_access(const struct drm_dp_aux *aux,
>         const char *arrow = request == DP_AUX_NATIVE_READ ? "->" : "<-";
>
>         if (ret > 0)
> -               DRM_DEBUG_DP("%s: 0x%05x AUX %s (ret=%3d) %*ph\n",
> -                            aux->name, offset, arrow, ret, min(ret, 20), buffer);
> +               drm_dbg_dp(aux->drm_dev, "%s: 0x%05x AUX %s (ret=%3d) %*ph\n",
> +                          aux->name, offset, arrow, ret, min(ret, 20),
> +                          buffer);

checkpatch --strict is unhappy with this chunk

ERROR: code indent should use tabs where possible
#75: FILE: drivers/gpu/drm/drm_dp_helper.c:224:
+^I^I           aux->name, offset, arrow, ret, min(ret, 20),$

ERROR: code indent should use tabs where possible
#76: FILE: drivers/gpu/drm/drm_dp_helper.c:225:


>         else
> -               DRM_DEBUG_DP("%s: 0x%05x AUX %s (ret=%3d)\n",
> -                            aux->name, offset, arrow, ret);
> +               drm_dbg_dp(aux->drm_dev, "%s: 0x%05x AUX %s (ret=%3d)\n",
> +                          aux->name, offset, arrow, ret);

checkpatch --strict is unhappy with this chunk

ERROR: code indent should use tabs where possible
#81: FILE: drivers/gpu/drm/drm_dp_helper.c:228:
+^I^I           aux->name, offset, arrow, ret);$


>  }
>
>  /**
> @@ -287,8 +288,8 @@ static int drm_dp_dpcd_access(struct drm_dp_aux *aux, u8 request,
>                         err = ret;
>         }
>
> -       DRM_DEBUG_KMS("%s: Too many retries, giving up. First error: %d\n",
> -                     aux->name, err);
> +       drm_dbg_kms(aux->drm_dev, "%s: Too many retries, giving up. First error: %d\n",
> +                   aux->name, err);
>         ret = err;
>
>  unlock:
> @@ -524,44 +525,44 @@ bool drm_dp_send_real_edid_checksum(struct drm_dp_aux *aux,
>
>         if (drm_dp_dpcd_read(aux, DP_DEVICE_SERVICE_IRQ_VECTOR,
>                              &auto_test_req, 1) < 1) {
> -               DRM_ERROR("%s: DPCD failed read at register 0x%x\n",
> -                         aux->name, DP_DEVICE_SERVICE_IRQ_VECTOR);
> +               drm_err(aux->drm_dev, "%s: DPCD failed read at register 0x%x\n",
> +                       aux->name, DP_DEVICE_SERVICE_IRQ_VECTOR);
>                 return false;
>         }
>         auto_test_req &= DP_AUTOMATED_TEST_REQUEST;
>
>         if (drm_dp_dpcd_read(aux, DP_TEST_REQUEST, &link_edid_read, 1) < 1) {
> -               DRM_ERROR("%s: DPCD failed read at register 0x%x\n",
> -                         aux->name, DP_TEST_REQUEST);
> +               drm_err(aux->drm_dev, "%s: DPCD failed read at register 0x%x\n",
> +                       aux->name, DP_TEST_REQUEST);
>                 return false;
>         }
>         link_edid_read &= DP_TEST_LINK_EDID_READ;
>
>         if (!auto_test_req || !link_edid_read) {
> -               DRM_DEBUG_KMS("%s: Source DUT does not support TEST_EDID_READ\n",
> -                             aux->name);
> +               drm_dbg_kms(aux->drm_dev, "%s: Source DUT does not support TEST_EDID_READ\n",
> +                           aux->name);
>                 return false;
>         }
>
>         if (drm_dp_dpcd_write(aux, DP_DEVICE_SERVICE_IRQ_VECTOR,
>                               &auto_test_req, 1) < 1) {
> -               DRM_ERROR("%s: DPCD failed write at register 0x%x\n",
> -                         aux->name, DP_DEVICE_SERVICE_IRQ_VECTOR);
> +               drm_err(aux->drm_dev, "%s: DPCD failed write at register 0x%x\n",
> +                       aux->name, DP_DEVICE_SERVICE_IRQ_VECTOR);
>                 return false;
>         }
>
>         /* send back checksum for the last edid extension block data */
>         if (drm_dp_dpcd_write(aux, DP_TEST_EDID_CHECKSUM,
>                               &real_edid_checksum, 1) < 1) {
> -               DRM_ERROR("%s: DPCD failed write at register 0x%x\n",
> -                         aux->name, DP_TEST_EDID_CHECKSUM);
> +               drm_err(aux->drm_dev, "%s: DPCD failed write at register 0x%x\n",
> +                       aux->name, DP_TEST_EDID_CHECKSUM);
>                 return false;
>         }
>
>         test_resp |= DP_TEST_EDID_CHECKSUM_WRITE;
>         if (drm_dp_dpcd_write(aux, DP_TEST_RESPONSE, &test_resp, 1) < 1) {
> -               DRM_ERROR("%s: DPCD failed write at register 0x%x\n",
> -                         aux->name, DP_TEST_RESPONSE);
> +               drm_err(aux->drm_dev, "%s: DPCD failed write at register 0x%x\n",
> +                       aux->name, DP_TEST_RESPONSE);
>                 return false;
>         }
>
> @@ -604,17 +605,16 @@ static int drm_dp_read_extended_dpcd_caps(struct drm_dp_aux *aux,
>                 return -EIO;
>
>         if (dpcd[DP_DPCD_REV] > dpcd_ext[DP_DPCD_REV]) {
> -               DRM_DEBUG_KMS("%s: Extended DPCD rev less than base DPCD rev (%d > %d)\n",
> -                             aux->name, dpcd[DP_DPCD_REV],
> -                             dpcd_ext[DP_DPCD_REV]);
> +               drm_dbg_kms(aux->drm_dev,
> +                           "%s: Extended DPCD rev less than base DPCD rev (%d > %d)\n",
> +                           aux->name, dpcd[DP_DPCD_REV], dpcd_ext[DP_DPCD_REV]);
>                 return 0;
>         }
>
>         if (!memcmp(dpcd, dpcd_ext, sizeof(dpcd_ext)))
>                 return 0;
>
> -       DRM_DEBUG_KMS("%s: Base DPCD: %*ph\n",
> -                     aux->name, DP_RECEIVER_CAP_SIZE, dpcd);
> +       drm_dbg_kms(aux->drm_dev, "%s: Base DPCD: %*ph\n", aux->name, DP_RECEIVER_CAP_SIZE, dpcd);
>
>         memcpy(dpcd, dpcd_ext, sizeof(dpcd_ext));
>
> @@ -649,8 +649,7 @@ int drm_dp_read_dpcd_caps(struct drm_dp_aux *aux,
>         if (ret < 0)
>                 return ret;
>
> -       DRM_DEBUG_KMS("%s: DPCD: %*ph\n",
> -                     aux->name, DP_RECEIVER_CAP_SIZE, dpcd);
> +       drm_dbg_kms(aux->drm_dev, "%s: DPCD: %*ph\n", aux->name, DP_RECEIVER_CAP_SIZE, dpcd);
>
>         return ret;
>  }
> @@ -694,8 +693,7 @@ int drm_dp_read_downstream_info(struct drm_dp_aux *aux,
>         if (ret != len)
>                 return -EIO;
>
> -       DRM_DEBUG_KMS("%s: DPCD DFP: %*ph\n",
> -                     aux->name, len, downstream_ports);
> +       drm_dbg_kms(aux->drm_dev, "%s: DPCD DFP: %*ph\n", aux->name, len, downstream_ports);
>
>         return 0;
>  }
> @@ -1412,11 +1410,11 @@ static int drm_dp_i2c_do_msg(struct drm_dp_aux *aux, struct drm_dp_aux_msg *msg)
>                          * Avoid spamming the kernel log with timeout errors.
>                          */
>                         if (ret == -ETIMEDOUT)
> -                               DRM_DEBUG_KMS_RATELIMITED("%s: transaction timed out\n",
> -                                                         aux->name);
> +                               drm_dbg_kms_ratelimited(aux->drm_dev, "%s: transaction timed out\n",
> +                                                       aux->name);
>                         else
> -                               DRM_DEBUG_KMS("%s: transaction failed: %d\n",
> -                                             aux->name, ret);
> +                               drm_dbg_kms(aux->drm_dev, "%s: transaction failed: %d\n",
> +                                           aux->name, ret);
>                         return ret;
>                 }
>
> @@ -1430,12 +1428,12 @@ static int drm_dp_i2c_do_msg(struct drm_dp_aux *aux, struct drm_dp_aux_msg *msg)
>                         break;
>
>                 case DP_AUX_NATIVE_REPLY_NACK:
> -                       DRM_DEBUG_KMS("%s: native nack (result=%d, size=%zu)\n",
> -                                     aux->name, ret, msg->size);
> +                       drm_dbg_kms(aux->drm_dev, "%s: native nack (result=%d, size=%zu)\n",
> +                                   aux->name, ret, msg->size);
>                         return -EREMOTEIO;
>
>                 case DP_AUX_NATIVE_REPLY_DEFER:
> -                       DRM_DEBUG_KMS("%s: native defer\n", aux->name);
> +                       drm_dbg_kms(aux->drm_dev, "%s: native defer\n", aux->name);
>                         /*
>                          * We could check for I2C bit rate capabilities and if
>                          * available adjust this interval. We could also be
> @@ -1449,8 +1447,8 @@ static int drm_dp_i2c_do_msg(struct drm_dp_aux *aux, struct drm_dp_aux_msg *msg)
>                         continue;
>
>                 default:
> -                       DRM_ERROR("%s: invalid native reply %#04x\n",
> -                                 aux->name, msg->reply);
> +                       drm_err(aux->drm_dev, "%s: invalid native reply %#04x\n",
> +                               aux->name, msg->reply);
>                         return -EREMOTEIO;
>                 }
>
> @@ -1465,13 +1463,13 @@ static int drm_dp_i2c_do_msg(struct drm_dp_aux *aux, struct drm_dp_aux_msg *msg)
>                         return ret;
>
>                 case DP_AUX_I2C_REPLY_NACK:
> -                       DRM_DEBUG_KMS("%s: I2C nack (result=%d, size=%zu)\n",
> -                                     aux->name, ret, msg->size);
> +                       drm_dbg_kms(aux->drm_dev, "%s: I2C nack (result=%d, size=%zu)\n",
> +                                   aux->name, ret, msg->size);
>                         aux->i2c_nack_count++;
>                         return -EREMOTEIO;
>
>                 case DP_AUX_I2C_REPLY_DEFER:
> -                       DRM_DEBUG_KMS("%s: I2C defer\n", aux->name);
> +                       drm_dbg_kms(aux->drm_dev, "%s: I2C defer\n", aux->name);
>                         /* DP Compliance Test 4.2.2.5 Requirement:
>                          * Must have at least 7 retries for I2C defers on the
>                          * transaction to pass this test
> @@ -1485,13 +1483,13 @@ static int drm_dp_i2c_do_msg(struct drm_dp_aux *aux, struct drm_dp_aux_msg *msg)
>                         continue;
>
>                 default:
> -                       DRM_ERROR("%s: invalid I2C reply %#04x\n",
> -                                 aux->name, msg->reply);
> +                       drm_err(aux->drm_dev, "%s: invalid I2C reply %#04x\n",
> +                               aux->name, msg->reply);
>                         return -EREMOTEIO;
>                 }
>         }
>
> -       DRM_DEBUG_KMS("%s: Too many retries, giving up\n", aux->name);
> +       drm_dbg_kms(aux->drm_dev, "%s: Too many retries, giving up\n", aux->name);
>         return -EREMOTEIO;
>  }
>
> @@ -1520,8 +1518,9 @@ static int drm_dp_i2c_drain_msg(struct drm_dp_aux *aux, struct drm_dp_aux_msg *o
>                         return err == 0 ? -EPROTO : err;
>
>                 if (err < msg.size && err < ret) {
> -                       DRM_DEBUG_KMS("%s: Partial I2C reply: requested %zu bytes got %d bytes\n",
> -                                     aux->name, msg.size, err);
> +                       drm_dbg_kms(aux->drm_dev,
> +                                   "%s: Partial I2C reply: requested %zu bytes got %d bytes\n",
> +                                   aux->name, msg.size, err);
>                         ret = err;
>                 }
>
> @@ -1700,12 +1699,11 @@ static void drm_dp_aux_crc_work(struct work_struct *work)
>                 }
>
>                 if (ret == -EAGAIN) {
> -                       DRM_DEBUG_KMS("%s: Get CRC failed after retrying: %d\n",
> -                                     aux->name, ret);
> +                       drm_dbg_kms(aux->drm_dev, "%s: Get CRC failed after retrying: %d\n",
> +                                   aux->name, ret);
>                         continue;
>                 } else if (ret) {
> -                       DRM_DEBUG_KMS("%s: Failed to get a CRC: %d\n",
> -                                     aux->name, ret);
> +                       drm_dbg_kms(aux->drm_dev, "%s: Failed to get a CRC: %d\n", aux->name, ret);
>                         continue;
>                 }
>
> @@ -2001,13 +1999,12 @@ int drm_dp_read_desc(struct drm_dp_aux *aux, struct drm_dp_desc *desc,
>
>         dev_id_len = strnlen(ident->device_id, sizeof(ident->device_id));
>
> -       DRM_DEBUG_KMS("%s: DP %s: OUI %*phD dev-ID %*pE HW-rev %d.%d SW-rev %d.%d quirks 0x%04x\n",
> -                     aux->name, is_branch ? "branch" : "sink",
> -                     (int)sizeof(ident->oui), ident->oui,
> -                     dev_id_len, ident->device_id,
> -                     ident->hw_rev >> 4, ident->hw_rev & 0xf,
> -                     ident->sw_major_rev, ident->sw_minor_rev,
> -                     desc->quirks);
> +       drm_dbg_kms(aux->drm_dev,
> +                   "%s: DP %s: OUI %*phD dev-ID %*pE HW-rev %d.%d SW-rev %d.%d quirks 0x%04x\n",
> +                   aux->name, is_branch ? "branch" : "sink",
> +                   (int)sizeof(ident->oui), ident->oui, dev_id_len,
> +                   ident->device_id, ident->hw_rev >> 4, ident->hw_rev & 0xf,
> +                   ident->sw_major_rev, ident->sw_minor_rev, desc->quirks);
>
>         return 0;
>  }
> @@ -2769,7 +2766,8 @@ int drm_dp_pcon_frl_enable(struct drm_dp_aux *aux)
>         if (ret < 0)
>                 return ret;
>         if (!(buf & DP_PCON_ENABLE_SOURCE_CTL_MODE)) {
> -               DRM_DEBUG_KMS("%s: PCON in Autonomous mode, can't enable FRL\n", aux->name);
> +               drm_dbg_kms(aux->drm_dev, "%s: PCON in Autonomous mode, can't enable FRL\n",
> +                           aux->name);
>                 return -EINVAL;
>         }
>         buf |= DP_PCON_ENABLE_HDMI_LINK;
> @@ -2864,8 +2862,8 @@ void drm_dp_pcon_hdmi_frl_link_error_count(struct drm_dp_aux *aux,
>                         num_error = 0;
>                 }
>
> -               DRM_ERROR("%s: More than %d errors since the last read for lane %d",
> -                         aux->name, num_error, i);
> +               drm_err(aux->drm_dev, "%s: More than %d errors since the last read for lane %d",
> +                       aux->name, num_error, i);
>         }
>  }
>  EXPORT_SYMBOL(drm_dp_pcon_hdmi_frl_link_error_count);
> --
> 2.29.2
>
_______________________________________________
Nouveau mailing list
Nouveau@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/nouveau

  reply index

Thread overview: 54+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-02-19 21:52 [Nouveau] [PATCH 00/30] drm: Use new DRM printk funcs (like drm_dbg_*()) in DP helpers Lyude Paul
2021-02-19 21:52 ` [Nouveau] [PATCH 01/30] drm/dp: Rewrap kdocs for struct drm_dp_aux Lyude Paul
2021-02-19 23:42   ` Randy Dunlap
2021-02-24 18:31     ` Lyude Paul
2021-02-19 21:52 ` [Nouveau] [PATCH 02/30] drm/dp: Fixup kernel docs " Lyude Paul
2021-02-19 23:39   ` Randy Dunlap
2021-02-19 21:52 ` [Nouveau] [PATCH 03/30] drm/tegra: Don't register DP AUX channels before connectors Lyude Paul
2021-04-14 16:49   ` Thierry Reding
2021-04-14 18:17     ` Lyude Paul
2021-02-19 21:53 ` [Nouveau] [PATCH 04/30] drm/bridge/tc358767: Don't register DP AUX channel until bridge is attached Lyude Paul
2021-03-19 14:27   ` Robert Foss
2021-02-19 21:53 ` [Nouveau] [PATCH 05/30] drm/bridge/cdns-mhdp8546: Register DP aux channel with userspace Lyude Paul
2021-02-19 21:53 ` [Nouveau] [PATCH 06/30] drm/bridge/ti-sn65dsi86: (Un)register aux device on bridge attach/detach Lyude Paul
2021-02-21 18:11   ` Laurent Pinchart
2021-02-19 21:53 ` [Nouveau] [PATCH 07/30] drm/bridge/analogix/anx78xx: Add missing drm_dp_aux_unregister() call Lyude Paul
2021-03-19 14:28   ` Robert Foss
2021-02-19 21:53 ` [Nouveau] [PATCH 08/30] drm/bridge/analogix/anx78xx: Setup encoder before registering connector Lyude Paul
2021-03-19 14:35   ` Robert Foss
2021-02-19 21:53 ` [Nouveau] [PATCH 09/30] drm/bridge/analogix/anx78xx: Cleanup on error in anx78xx_bridge_attach() Lyude Paul
2021-03-19 14:37   ` Robert Foss
2021-02-19 21:53 ` [Nouveau] [PATCH 10/30] drm/bridge/analogix/anx6345: Add missing drm_dp_aux_unregister() call Lyude Paul
2021-03-19 14:39   ` Robert Foss
2021-02-19 21:53 ` [Nouveau] [PATCH 11/30] drm/bridge/analogix/anx6345: Don't link encoder until after connector registration Lyude Paul
2021-03-19 14:43   ` Robert Foss
2021-02-19 21:53 ` [Nouveau] [PATCH 12/30] drm/bridge/analogix/anx6345: Cleanup on errors in anx6345_bridge_attach() Lyude Paul
2021-03-19 14:44   ` Robert Foss
2021-02-19 21:53 ` [Nouveau] [PATCH 13/30] drm/bridge/analogix/dp_core: Unregister DP AUX channel on error in analogix_dp_probe() Lyude Paul
2021-03-19 14:45   ` Robert Foss
2021-02-19 21:53 ` [Nouveau] [PATCH 14/30] drm/nouveau/kms/nv50-: Move AUX adapter reg to connector late register/early unregister Lyude Paul
2021-02-19 21:53 ` [Nouveau] [PATCH 15/30] drm/dp: Add backpointer to drm_device in drm_dp_aux Lyude Paul
2021-02-21 18:21   ` Laurent Pinchart
2021-02-24 20:40     ` Lyude Paul
2021-02-19 21:53 ` [Nouveau] [PATCH 16/30] drm/dp: Rewrap drm_dp_aux_register()/drm_dp_aux_init() kdocs Lyude Paul
2021-02-19 21:53 ` [Nouveau] [PATCH 17/30] drm/dp: Clarify DP AUX registration time Lyude Paul
2021-02-19 21:53 ` [Nouveau] [PATCH 18/30] drm/print: Fixup DRM_DEBUG_KMS_RATELIMITED() Lyude Paul
2021-03-19 11:30   ` Robert Foss
2021-02-19 21:53 ` [Nouveau] [PATCH 19/30] drm/dp: Pass drm_dp_aux to drm_dp_link_train_clock_recovery_delay() Lyude Paul
2021-02-21 18:22   ` Laurent Pinchart
2021-02-23 14:49   ` [Nouveau] [Intel-gfx] " Rodrigo Vivi
2021-02-19 21:53 ` [Nouveau] [PATCH 20/30] drm/dp: Pass drm_dp_aux to drm_dp*_link_train_channel_eq_delay() Lyude Paul
2021-02-21 18:23   ` Laurent Pinchart
2021-02-19 21:53 ` [Nouveau] [PATCH 21/30] drm/dp: Always print aux channel name in logs Lyude Paul
2021-02-19 21:53 ` [Nouveau] [PATCH 22/30] drm/dp_dual_mode: Pass drm_device to drm_dp_dual_mode_detect() Lyude Paul
2021-02-19 21:53 ` [Nouveau] [PATCH 23/30] drm/dp_dual_mode: Pass drm_device to drm_dp_dual_mode_set_tmds_output() Lyude Paul
2021-02-19 21:53 ` [Nouveau] [PATCH 24/30] drm/dp_dual_mode: Pass drm_device to drm_dp_dual_mode_max_tmds_clock() Lyude Paul
2021-02-19 21:53 ` [Nouveau] [PATCH 25/30] drm/dp_dual_mode: Pass drm_device to drm_dp_dual_mode_get_tmds_output() Lyude Paul
2021-02-19 21:53 ` [Nouveau] [PATCH 26/30] drm/dp_dual_mode: Pass drm_device to drm_lspcon_(get|set)_mode() Lyude Paul
2021-02-19 21:53 ` [Nouveau] [PATCH 27/30] drm/dp_mst: Pass drm_dp_mst_topology_mgr to drm_dp_get_vc_payload_bw() Lyude Paul
2021-03-19 11:35   ` Robert Foss
2021-02-19 21:53 ` [Nouveau] [PATCH 28/30] drm/dp: Convert drm_dp_helper.c to using drm_err/drm_dbg_*() Lyude Paul
2021-03-19 11:39   ` Robert Foss [this message]
2021-02-19 21:53 ` [Nouveau] [PATCH 29/30] drm/dp_dual_mode: Convert drm_dp_dual_mode_helper.c to using drm_err/drm_dbg_kms() Lyude Paul
2021-02-19 21:53 ` [Nouveau] [PATCH 30/30] drm/dp_mst: Convert drm_dp_mst_topology.c to drm_err()/drm_dbg*() Lyude Paul
2021-03-19 11:47   ` Robert Foss

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to='CAG3jFyveBSyS7k9D44m5e=8+HSvVsVhkXOokxyFOcRYDvHmWSw@mail.gmail.com' \
    --to=robert.foss@linaro.org \
    --cc=airlied@linux.ie \
    --cc=amd-gfx@lists.freedesktop.org \
    --cc=daniel@ffwll.ch \
    --cc=dri-devel@lists.freedesktop.org \
    --cc=intel-gfx@lists.freedesktop.org \
    --cc=jani.nikula@linux.intel.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=lyude@redhat.com \
    --cc=maarten.lankhorst@linux.intel.com \
    --cc=mripard@kernel.org \
    --cc=nouveau@lists.freedesktop.org \
    --cc=rodrigo.vivi@intel.com \
    --cc=ville.syrjala@linux.intel.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link

Nouveau Archive on lore.kernel.org

Archives are clonable:
	git clone --mirror https://lore.kernel.org/nouveau/0 nouveau/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 nouveau nouveau/ https://lore.kernel.org/nouveau \
		nouveau@lists.freedesktop.org
	public-inbox-index nouveau

Example config snippet for mirrors

Newsgroup available over NNTP:
	nntp://nntp.lore.kernel.org/org.freedesktop.lists.nouveau


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git