[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <ZnrUEp0C9+Q7p+8a@kuha.fi.intel.com>
Date: Tue, 25 Jun 2024 17:28:34 +0300
From: Heikki Krogerus <heikki.krogerus@...ux.intel.com>
To: Dmitry Baryshkov <dmitry.baryshkov@...aro.org>
Cc: Greg Kroah-Hartman <gregkh@...uxfoundation.org>,
Maxime Coquelin <mcoquelin.stm32@...il.com>,
Alexandre Torgue <alexandre.torgue@...s.st.com>,
Nikita Travkin <nikita@...n.ru>,
Neil Armstrong <neil.armstrong@...aro.org>,
linux-usb@...r.kernel.org, linux-kernel@...r.kernel.org,
linux-stm32@...md-mailman.stormreply.com,
linux-arm-kernel@...ts.infradead.org
Subject: Re: [PATCH v2 0/7] usb: typec: ucsi: rework glue driver interface
On Fri, Jun 21, 2024 at 01:55:19AM +0300, Dmitry Baryshkov wrote:
> The interface between UCSI and the glue driver is very low-level. It
> allows reading the UCSI data from any offset (but in reality the UCSI
> driver reads only VERSION, CCI an MESSAGE_IN data). All event handling
> is to be done by the glue driver (which already resulted in several
> similar-but-slightly different implementations). It leaves no place to
> optimize the write-read-read sequence for the command execution (which
> might be beneficial for some of the drivers), etc.
>
> The patchseries attempts to restructure the UCSI glue driver interface
> in order to provide sensible operations instead of a low-level read /
> write calls.
>
> If this approach is found to be acceptable, I plan to further rework the
> command interface, moving reading CCI and MESSAGE_IN to the common
> control code, which should simplify driver's implementation and remove
> necessity to split quirks between sync_control and read_message_in e.g.
> as implemented in the ucsi_ccg.c.
>
> Note, the series was tested only on the ucsi_glink platforms. Further
> testing is appreciated.
I can run a few tests against these tomorrow.
I don't have have any objections with this approach, but you'll need
to do another rebase. Now these don't apply cleanly because of
9e3caa9dd51b ("usb: typec: ucsi_acpi: Add LG Gram quirk").
thanks,
> Depends: [1], [2]
>
> [1] https://lore.kernel.org/linux-usb/20240612124656.2305603-1-fabrice.gasnier@foss.st.com/
>
> [2] https://lore.kernel.org/linux-usb/20240621-ucsi-yoga-ec-driver-v8-1-e03f3536b8c6@linaro.org/
>
> Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@...aro.org>
> ---
> Changes in v2:
> - Dropped the RFC prefix
> - Rebased on top of the fixed STM32 patch
> - Included the pending Yoga C630 driver into the cleanup.
> - Link to v1: https://lore.kernel.org/r/20240603-ucsi-rework-interface-v1-0-99a6d544cec8@linaro.org
>
> ---
> Dmitry Baryshkov (7):
> usb: typec: ucsi: move ucsi_acknowledge() from ucsi_read_error()
> usb: typec: ucsi: simplify command sending API
> usb: typec: ucsi: split read operation
> usb: typec: ucsi: rework command execution functions
> usb: typec: ucsi: inline ucsi_read_message_in
> usb: typec: ucsi: extract common code for command handling
> usb: typec: ucsi: reorder operations in ucsi_run_command()
>
> drivers/usb/typec/ucsi/ucsi.c | 215 +++++++++++++++++---------------
> drivers/usb/typec/ucsi/ucsi.h | 26 ++--
> drivers/usb/typec/ucsi/ucsi_acpi.c | 100 +++++++--------
> drivers/usb/typec/ucsi/ucsi_ccg.c | 103 +++++++--------
> drivers/usb/typec/ucsi/ucsi_glink.c | 74 ++++-------
> drivers/usb/typec/ucsi/ucsi_stm32g0.c | 79 ++++--------
> drivers/usb/typec/ucsi/ucsi_yoga_c630.c | 104 +++++----------
> 7 files changed, 309 insertions(+), 392 deletions(-)
> ---
> base-commit: f0dbf09a40c8100a895f675d619db5ed1f58f7ac
> change-id: 20240525-ucsi-rework-interface-5ff2264f6aec
>
> Best regards,
> --
> Dmitry Baryshkov <dmitry.baryshkov@...aro.org>
--
heikki
Powered by blists - more mailing lists