[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <64f6262e-2bef-4603-bd9d-b87926ae88e4@kernel.org>
Date: Thu, 11 Apr 2024 08:37:29 +0200
From: Krzysztof Kozlowski <krzk@...nel.org>
To: LIANKUN YANG (杨连坤) <Liankun.Yang@...iatek.com>,
"kishon@...nel.org" <kishon@...nel.org>,
"chunkuang.hu@...nel.org" <chunkuang.hu@...nel.org>,
Mac Shen (沈俊) <Mac.Shen@...iatek.com>,
Chunfeng Yun (云春峰) <Chunfeng.Yun@...iatek.com>,
Jitao Shi (石记涛) <jitao.shi@...iatek.com>,
"p.zabel@...gutronix.de" <p.zabel@...gutronix.de>,
"vkoul@...nel.org" <vkoul@...nel.org>,
"matthias.bgg@...il.com" <matthias.bgg@...il.com>,
"angelogioacchino.delregno@...labora.com"
<angelogioacchino.delregno@...labora.com>
Cc: "dri-devel@...ts.freedesktop.org" <dri-devel@...ts.freedesktop.org>,
"linux-arm-kernel@...ts.infradead.org"
<linux-arm-kernel@...ts.infradead.org>,
"linux-mediatek@...ts.infradead.org" <linux-mediatek@...ts.infradead.org>,
"linux-phy@...ts.infradead.org" <linux-phy@...ts.infradead.org>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>
Subject: Re: [PATCH v1 1/1] drm/mediatek/dp: The register is written with the
parsed DTS SSC value.
On 11/04/2024 08:30, LIANKUN YANG (杨连坤) wrote:
> On Wed, 2024-04-03 at 16:56 +0200, Krzysztof Kozlowski wrote:
>>
>> External email : Please do not click links or open attachments until
>> you have verified the sender or the content.
>> On 03/04/2024 08:41, Krzysztof Kozlowski wrote:
>>> On 03/04/2024 06:05, Liankun Yang wrote:
>>>> [Description]
>>>> Severe screen flickering has been observed on the external display
>>>> when the DP projection function is used with the market expansion
>> dock.
>>>>
>>>
>>>> +if (!strcmp(mode_name, RG_XTP_GLB_TXPLL_SSC_DELTA_RBR)) {
>>>> +regmap_update_bits(dp_phy->regs, ssc_reg_offset,
>>>> + XTP_GLB_TXPLL_SSC_DELTA_RBR_DEFAULT, read_value);
>>>> +} else if (!strcmp(mode_name, RG_XTP_GLB_TXPLL_SSC_DELTA_HBR)) {
>>>> +read_value = read_value << 16 | 0x0000;
>>>> +regmap_update_bits(dp_phy->regs, ssc_reg_offset,
>>>> + XTP_GLB_TXPLL_SSC_DELTA_HBR_DEFAULT, read_value);
>>>> +}
>>>> +
>>>> +return 0;
>>>> +}
>>>> +
>>>> +static struct device_node *mtk_dp_get_ssc_node(struct phy *phy,
>> struct mtk_dp_phy *dp_phy)
>>>> +{
>>>> +struct device_node *mode_node = NULL;
>>>> +
>>>> +mode_node = of_find_node_by_name(dp_phy->dev->of_node,
>> SSC_SETTING);
>>>
>>> ?!?!
>>> You have the node, why do you try to find it?
>>>
>>
>> Wait, that was brainfuck from my side or -ENOCOFFEE. Ignore.
>>
>> I still have a question though, where did you document new ABI:
>> dependency on the node name here?
>>
>> Also, why you are not going through direct children -
>> of_get_child_by_name()?
>>
>> Best regards,
>> Krzysztof
>>
>>
>
> Sorry, there is formatting issue in the previous email.
>
> The dp_phy device has already been registered through the
> mtk_dp_register_phy function in the mtk_dp.c file,
> so it cannot be redefined in the dts. Avoid using of_get_child_by_name
> for this purpose.
>
> To find the node name, utilize of_find_node_by_name since it has
> already been registered.
This does not answer my question at all. You speak about driver, I speak
about ABI and bindings.
Best regards,
Krzysztof
Powered by blists - more mailing lists