Message ID | 20230404104800.301150-6-angelogioacchino.delregno@collabora.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | MediaTek DisplayPort: support eDP and aux-bus | expand |
On Tue, Apr 4, 2023 at 6:48 PM AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com> 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. > > Signed-off-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com> > --- > 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 ac21eca0e20e..19b145cf2e05 100644 > --- a/drivers/gpu/drm/mediatek/mtk_dp.c > +++ b/drivers/gpu/drm/mediatek/mtk_dp.c > @@ -849,7 +849,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; > } > @@ -2061,7 +2061,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; > @@ -2077,7 +2077,7 @@ static ssize_t mtk_dp_aux_transfer(struct drm_dp_aux *mtk_aux, > to_access); > > if (ret) { > - drm_info(mtk_dp->drm_dev, > + dev_info(mtk_dp->dev, > "Failed to do AUX transfer: %d\n", ret); This part no longer applies cleanly due to drm/mediatek: dp: Change the aux retries times when receiving AUX_DEFER Also I think all these calls could be collapsed into one line? ChenYu > goto err; > } > -- > 2.40.0 >
diff --git a/drivers/gpu/drm/mediatek/mtk_dp.c b/drivers/gpu/drm/mediatek/mtk_dp.c index ac21eca0e20e..19b145cf2e05 100644 --- a/drivers/gpu/drm/mediatek/mtk_dp.c +++ b/drivers/gpu/drm/mediatek/mtk_dp.c @@ -849,7 +849,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; } @@ -2061,7 +2061,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; @@ -2077,7 +2077,7 @@ static ssize_t mtk_dp_aux_transfer(struct drm_dp_aux *mtk_aux, to_access); if (ret) { - drm_info(mtk_dp->drm_dev, + dev_info(mtk_dp->dev, "Failed to do AUX transfer: %d\n", ret); goto err; }
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. Signed-off-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com> --- drivers/gpu/drm/mediatek/mtk_dp.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-)