[PATCH drm-dp 4/4] drm/hisilicon/hibmc: add dp module in hibmc
Yongbang Shi
shiyongbang at huawei.com
Tue Oct 22 12:21:19 UTC 2024
Okay, I'll fix them.
Thanks,
Baihan
> On Mon, 21 Oct 2024 at 14:54, s00452708 <shiyongbang at huawei.com> wrote:
>> Thanks, I will modify codes according to your comments, and I also
>> replied some questions or reasons why I did it below.
>>
>>> On Mon, Sep 30, 2024 at 06:06:10PM +0800, shiyongbang wrote:
>>>> From: baihan li <libaihan at huawei.com>
>>>>
>>>> To support DP interface displaying in hibmc driver. Add
>>>> a encoder and connector for DP modual.
>>>>
>>>> Signed-off-by: baihan li <libaihan at huawei.com>
>>>> ---
>>>> drivers/gpu/drm/hisilicon/hibmc/Makefile | 2 +-
>>>> .../gpu/drm/hisilicon/hibmc/hibmc_drm_dp.c | 195 ++++++++++++++++++
>>>> .../gpu/drm/hisilicon/hibmc/hibmc_drm_drv.c | 17 +-
>>>> .../gpu/drm/hisilicon/hibmc/hibmc_drm_drv.h | 5 +
>>>> 4 files changed, 217 insertions(+), 2 deletions(-)
>>>> create mode 100644 drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_dp.c
>>>>
> [...]
>
>>>> +
>>>> +static int hibmc_dp_connector_get_modes(struct drm_connector *connector)
>>>> +{
>>>> + int count;
>>>> +
>>>> + count = drm_add_modes_noedid(connector, connector->dev->mode_config.max_width,
>>>> + connector->dev->mode_config.max_height);
>>>> + drm_set_preferred_mode(connector, 800, 600); /* default 800x600 */
>>> What? Please parse EDID instead.
>>> I'll add aux over i2c r/w and get edid functions in next patch.
> At least please mention that it's a temporal stub which will be changed later.
>
>>>> +
>>>> + return count;
>>>> +}
>>>> +
> [...]
>
>>>> @@ -116,10 +120,17 @@ static int hibmc_kms_init(struct hibmc_drm_private *priv)
>>>> return ret;
>>>> }
>>>>
>>>> + /* if DP existed, init DP */
>>>> + if ((readl(priv->mmio + DP_HOST_SERDES_CTRL) &
>>>> + DP_HOST_SERDES_CTRL_MASK) == DP_HOST_SERDES_CTRL_VAL) {
>>>> + ret = hibmc_dp_init(priv);
>>>> + if (ret)
>>>> + drm_err(dev, "failed to init dp: %d\n", ret);
>>>> + }
>>>> +
>>>> ret = hibmc_vdac_init(priv);
>>>> if (ret) {
>>>> drm_err(dev, "failed to init vdac: %d\n", ret);
>>>> - return ret;
>>> Why?
>>> We have two display cables, if VGA cannot work, this change makes DP
>>> still work.
> But that has nothing to do with init errors. If initialising (aka
> probing) VGA fails, then the driver init should fail. At the runtime
> the VGA and DP should be independent and it should be possible to
> drive just one output, that's true.
>
More information about the dri-devel
mailing list