[Public] > -----Original Message----- > From: Jani Nikula <jani.nik...@intel.com> > Sent: Thursday, May 8, 2025 8:16 PM > To: Lin, Wayne <wayne....@amd.com>; dri-devel@lists.freedesktop.org > Cc: ville.syrj...@linux.intel.com; Limonciello, Mario > <mario.limoncie...@amd.com>; > Wentland, Harry <harry.wentl...@amd.com>; sta...@vger.kernel.org > Subject: RE: [PATCH] drm/dp: Fix Write_Status_Update_Request AUX request > format > > On Thu, 08 May 2025, "Lin, Wayne" <wayne....@amd.com> wrote: > > [Public] > > > >> -----Original Message----- > >> From: Jani Nikula <jani.nik...@intel.com> > >> Sent: Thursday, May 8, 2025 4:19 PM > >> To: Lin, Wayne <wayne....@amd.com>; dri-devel@lists.freedesktop.org > >> Cc: ville.syrj...@linux.intel.com; Limonciello, Mario > >> <mario.limoncie...@amd.com>; Wentland, Harry > >> <harry.wentl...@amd.com>; Lin, Wayne <wayne....@amd.com>; > >> sta...@vger.kernel.org > >> Subject: Re: [PATCH] drm/dp: Fix Write_Status_Update_Request AUX > >> request format > >> > >> On Sun, 27 Apr 2025, Wayne Lin <wayne....@amd.com> wrote: > >> > + /* > >> > + * When I2C write firstly get defer and get ack after > >> > + * retries by wirte_status_update, we have to return > >> > + * all data bytes get transferred instead of 0. > >> > + */ > >> > >> My brain gives me syntax and parse error here. ;) > > > > Appreciate for the feedback, Jani. > > Could you elaborate more on your concerns please? > > > > Since Write_Status_Update_Request is address only request. Data length > > is 0. When I2C write request completes, reply for > > Write_Status_Update_Request from DPRx will be ACK only (i.e. data > > length is 0). > > > > Is your concern about returning 0 from aux->transfer? > > My thoughts is drm_dp_i2c_do_msg() is designed to handle I2C-Over-Aux > > reply data, and aux->transfer() is handling hw specific manipulation > > and return transferred bytes. For Write_Status_Update_Request request > > itself, nothing new to be transferred. I think drm_dp_i2c_do_msg() > > should be responsible for determining the correct transferred data > > bytes under this case. Or do you expect aux->transfer to memorize the > > data length of write request? > > My concern is that I don't understand what the comment is trying to say. > > "when i2c write firstly get defer" - what does it mean? > > "wirte_status_update" - typo > > "we have to" - why? > > "return all data bytes get transferred" - what does it mean?
I see. Thanks! We can't reply 0 since drm_dp_i2c_drain_msg() take 0 returned from drm_dp_i2c_do_msg() as error. And it actually completes transferring all data bytes. I'll refine the comment. Thanks again. > > > > > Thanks! > >> > >> BR, > >> Jani. > >> > >> -- > >> Jani Nikula, Intel > > -- > > Wayne Lin > > -- > Jani Nikula, Intel -- Wayne Lin