On 2022-03-29 04:05, Wayne Lin wrote: > [Why] > It's reasonable that we receive NAK while doing DP_REMOTE_DPCD_READ. > Downstream device might reply NAK with the reason and source should > react accordingly. > > e.g. > 1. When downstream device can't handle corresponding message in time, > it then replies NAK as reason been set as DEFER. > 2. When multi-function branch-sink device doesn't enumerate virtual > DP peer devices for those multi-function down facing ports. Without > virtual DPCD, branch device might reply NAK with reason as BAD_PARAM > indicating this port can't do aux DPCD read. > > It's expected result. Not an error. > > [How] > Use drm_dbg_kms() to replace drm_err() when receive NAK. > > Signed-off-by: Wayne Lin <Wayne.Lin@xxxxxxx> Reviewed-by: Harry Wentland <harry.wentland@xxxxxxx> Harry > --- > drivers/gpu/drm/dp/drm_dp_mst_topology.c | 3 +-- > 1 file changed, 1 insertion(+), 2 deletions(-) > > diff --git a/drivers/gpu/drm/dp/drm_dp_mst_topology.c b/drivers/gpu/drm/dp/drm_dp_mst_topology.c > index 11300b53d24f..764a6b59bc1e 100644 > --- a/drivers/gpu/drm/dp/drm_dp_mst_topology.c > +++ b/drivers/gpu/drm/dp/drm_dp_mst_topology.c > @@ -3557,9 +3557,8 @@ static int drm_dp_send_dpcd_read(struct drm_dp_mst_topology_mgr *mgr, > if (ret < 0) > goto fail_free; > > - /* DPCD read should never be NACKed */ > if (txmsg->reply.reply_type == 1) { > - drm_err(mgr->dev, "mstb %p port %d: DPCD read on addr 0x%x for %d bytes NAKed\n", > + drm_dbg_kms(mgr->dev, "mstb %p port %d: DPCD read on addr 0x%x for %d bytes NAKed\n", > mstb, port->port_num, offset, size); > ret = -EIO; > goto fail_free;