Re: [PATCH v0 02/14] drm/amdgpu,drm/radeon: Make I2C terminology more inclusive

Easwar Hariharan
2024-04-03T16:43:30Z

On 4/3/2024 7:26 AM, Christian König wrote:
> Am 03.04.24 um 15:12 schrieb Jani Nikula:
>> On Wed, 03 Apr 2024, Ville Syrjälä <ville.syrjala@linux.intel.com> wrote:
>>> On Fri, Mar 29, 2024 at 06:38:10PM +0100, Andi Shyti wrote:
>>>> Hi,
>>>>
>>>> On Fri, Mar 29, 2024 at 10:28:14AM -0700, Easwar Hariharan wrote:
>>>>> On 3/29/2024 10:16 AM, Andi Shyti wrote:
>>>>>> Hi Easwar,
>>>>>>
>>>>>> On Fri, Mar 29, 2024 at 05:00:26PM +0000, Easwar Hariharan wrote:
>>>>>>> I2C v7, SMBus 3.2, and I3C specifications have replaced "master/slave"
>>>>>> I don't understand why we forget that i3c is 1.1.1 :-)
>>>>> That's because it's a copy-paste error from Wolfram's cover letter. :) I'll update
>>>>> next go-around.
>>>> not a binding comment, though. Just for completeness, because we
>>>> are giving the version to the i2c and smbus, but not i3c.
>>>>
>>>>>>> with more appropriate terms. Inspired by and following on to Wolfram's
>>>>>>> series to fix drivers/i2c/[1], fix the terminology for users of
>>>>>>> I2C_ALGOBIT bitbanging interface, now that the approved verbiage exists
>>>>>>> in the specification.
>>>>>> The specification talks about:
>>>>>>
>>>>>>   - master -> controller
>>>>>>   - slave -> target (and not client)
>>>>>>
>>>>>> But both you and Wolfram have used client. I'd like to reach
>>>>>> some more consistency here.
>>>>> I had the impression that remote targets (i.e external to the device) were to be called clients,
>>>>> e.g. the QSFP FRUs in drivers/infiniband, and internal ones targets.
>>>>> I chose the terminology according to that understanding, but now I can't find where I got that
>>>>> information.
>>>> The word "client" does not even appear in the documentation (only
>>>> one instance in the i3c document), so that the change is not
>>>> related to the document as stated in the commit log. Unless, of
>>>> course, I am missing something.
>>>>
>>>> I'm OK with choosing a "customized" naming, but we need to reach
>>>> an agreement.
>>>>
>>>> I raised the same question to Wolfram.
>>> I don't know where that discussion happened, but my opinion
>>> is NAK to "client". Life is already confusing enough with
>>> these renames, so let's not make it even more confusing by
>>> inventing new names nowhere to be found in the spec.
>>>
>>> And let's especially not invent names that don't even fit
>>> the purpose. "Client" makes me think of "client/server" or
>>> some real world analogy. Neither of which seem to have any
>>> resemblence to how the term would be used for i2c.
>> Agreed.
>>
>> I2C 7.0, I3C 1.1.1, and SMBus 3.2 have all switched to controller/target
>> terminology. The SMBus spec has additionally converted generic host
>> references to controller.
>>
>> At least for i915 where I have some say in the matter, controller/target
>> it shall be.
>
> +1 for using the same vocabulary in amdgpu as in the specifications.
>
> My personal opinion is that master/slave was actually a pretty good description of the relationship.
>
> The "slave" or rather target of the communication is forced into operation, can't speak back and potentially won't get any payment for the serving.
>
> If we remove the word slave from our vocabulary society will just sooner or later start to forget the meaning, and that is probably not a good thing.
>
> Regards,
> Christian.
>

Thanks for the review, Christian. I'll adapt to controller/target in v1.

Thanks,
Easwar