Message ID | 20230717141438.274419-4-angelogioacchino.delregno@collabora.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | MediaTek DisplayPort: support eDP and aux-bus | expand |
Hi, Angelo: On Mon, 2023-07-17 at 16:14 +0200, AngeloGioacchino Del Regno wrote: > > External email : Please do not click links or open attachments until > you have verified the sender or the content. > Change logging from drm_{err,info}() to dev_{err,info}() in > functions > mtk_dp_aux_transfer() and mtk_dp_aux_do_transfer(): this will be > essential to avoid getting NULL pointer kernel panics if any kind > of error happens during AUX transfers happening before the bridge > is attached. > > This may potentially start happening in a later commit implementing > aux-bus support, as AUX transfers will be triggered from the panel > driver (for EDID) before the mtk-dp bridge gets attached, and it's > done in preparation for the same. Reviewed-by: CK Hu <ck.hu@mediatek.com> > > Signed-off-by: AngeloGioacchino Del Regno < > angelogioacchino.delregno@collabora.com> > Tested-by: Chen-Yu Tsai <wenst@chromium.org> > --- > drivers/gpu/drm/mediatek/mtk_dp.c | 6 +++--- > 1 file changed, 3 insertions(+), 3 deletions(-) > > diff --git a/drivers/gpu/drm/mediatek/mtk_dp.c > b/drivers/gpu/drm/mediatek/mtk_dp.c > index 77da0d002e9f..98f63d8230e4 100644 > --- a/drivers/gpu/drm/mediatek/mtk_dp.c > +++ b/drivers/gpu/drm/mediatek/mtk_dp.c > @@ -847,7 +847,7 @@ static int mtk_dp_aux_do_transfer(struct mtk_dp > *mtk_dp, bool is_read, u8 cmd, > u32 phy_status = mtk_dp_read(mtk_dp, > MTK_DP_AUX_P0_3628) & > AUX_RX_PHY_STATE_AUX_TX_P0_MASK; > if (phy_status != AUX_RX_PHY_STATE_AUX_TX_P0_RX_IDLE) { > - drm_err(mtk_dp->drm_dev, > + dev_err(mtk_dp->dev, > "AUX Rx Aux hang, need SW reset\n"); > return -EIO; > } > @@ -2054,7 +2054,7 @@ static ssize_t mtk_dp_aux_transfer(struct > drm_dp_aux *mtk_aux, > is_read = true; > break; > default: > - drm_err(mtk_aux->drm_dev, "invalid aux cmd = %d\n", > + dev_err(mtk_dp->dev, "invalid aux cmd = %d\n", > msg->request); > ret = -EINVAL; > goto err; > @@ -2070,7 +2070,7 @@ static ssize_t mtk_dp_aux_transfer(struct > drm_dp_aux *mtk_aux, > to_access, &msg->reply); > > if (ret) { > - drm_info(mtk_dp->drm_dev, > + dev_info(mtk_dp->dev, > "Failed to do AUX transfer: %d\n", > ret); > goto err; > } > -- > 2.40.1
Reviewed-by: Alexandre Mergnat <amergnat@baylibre.com> On 17/07/2023 16:14, AngeloGioacchino Del Regno wrote: > Change logging from drm_{err,info}() to dev_{err,info}() in functions > mtk_dp_aux_transfer() and mtk_dp_aux_do_transfer(): this will be > essential to avoid getting NULL pointer kernel panics if any kind > of error happens during AUX transfers happening before the bridge > is attached. > > This may potentially start happening in a later commit implementing > aux-bus support, as AUX transfers will be triggered from the panel > driver (for EDID) before the mtk-dp bridge gets attached, and it's > done in preparation for the same.
diff --git a/drivers/gpu/drm/mediatek/mtk_dp.c b/drivers/gpu/drm/mediatek/mtk_dp.c index 77da0d002e9f..98f63d8230e4 100644 --- a/drivers/gpu/drm/mediatek/mtk_dp.c +++ b/drivers/gpu/drm/mediatek/mtk_dp.c @@ -847,7 +847,7 @@ static int mtk_dp_aux_do_transfer(struct mtk_dp *mtk_dp, bool is_read, u8 cmd, u32 phy_status = mtk_dp_read(mtk_dp, MTK_DP_AUX_P0_3628) & AUX_RX_PHY_STATE_AUX_TX_P0_MASK; if (phy_status != AUX_RX_PHY_STATE_AUX_TX_P0_RX_IDLE) { - drm_err(mtk_dp->drm_dev, + dev_err(mtk_dp->dev, "AUX Rx Aux hang, need SW reset\n"); return -EIO; } @@ -2054,7 +2054,7 @@ static ssize_t mtk_dp_aux_transfer(struct drm_dp_aux *mtk_aux, is_read = true; break; default: - drm_err(mtk_aux->drm_dev, "invalid aux cmd = %d\n", + dev_err(mtk_dp->dev, "invalid aux cmd = %d\n", msg->request); ret = -EINVAL; goto err; @@ -2070,7 +2070,7 @@ static ssize_t mtk_dp_aux_transfer(struct drm_dp_aux *mtk_aux, to_access, &msg->reply); if (ret) { - drm_info(mtk_dp->drm_dev, + dev_info(mtk_dp->dev, "Failed to do AUX transfer: %d\n", ret); goto err; }