Thread (52 messages) 52 messages, 4 authors, 2024-01-19

Re: [PATCH 16/18] tty: serial: samsung: shrink the clock selection to 8 clocks

From: Sam Protsenko <semen.protsenko@linaro.org>
Date: 2024-01-17 16:31:46
Also in: linux-samsung-soc, linux-serial, lkml

On Wed, Jan 17, 2024 at 10:26 AM Tudor Ambarus [off-list ref] wrote:


On 1/16/24 19:09, Sam Protsenko wrote:
quoted
On Wed, Jan 10, 2024 at 4:25 AM Tudor Ambarus [off-list ref] wrote:
quoted
<linux/serial_s3c.h> provides a clock selection pool of maximum 4 clocks.
Then maybe it makes sense to turn those two field into 4-bit bit
fields? More importantly, what particular problem does this patch
solve, is this optimization really needed, and why? I'm not saying
it's not needed, just that commit message might've been more verbose
about this.
I guess I could have been more verbose in the phrase from below and said
that for arm64 ``struct s3c24xx_uart_info`` spans through 2 cachelines
and contains 2 holes, and with a bit of love it can fit a single
cacheline with no holes. The end goal is to reduce the memory footprint
of that struct.
Oh yeah, I actually like the cachelines part. Please add that bit to
the commit message if you don't mind.
I chose u8 and allowed a max of 8 clocks simple because it's large
enough to allow more clocks than are supported by the driver now, and
not too big to cause spanning of the structure through 2 cachelines.
Gotcha. Maybe also add that reasoning to the commit message. Just a
thought. With above comments addressed, feel free to add:

Reviewed-by: Sam Protsenko <semen.protsenko@linaro.org>
quoted
quoted
Update the driver to consider a pool selection of maximum 8 clocks. The
final scope is to reduce the memory footprint of
``struct s3c24xx_uart_info``.

Signed-off-by: Tudor Ambarus <tudor.ambarus@linaro.org>
---
 drivers/tty/serial/samsung_tty.c | 22 +++++++++++-----------
 1 file changed, 11 insertions(+), 11 deletions(-)
diff --git a/drivers/tty/serial/samsung_tty.c b/drivers/tty/serial/samsung_tty.c
index 436739cf9225..5df2bcebf9fb 100644
--- a/drivers/tty/serial/samsung_tty.c
+++ b/drivers/tty/serial/samsung_tty.c
@@ -81,11 +81,11 @@ struct s3c24xx_uart_info {
        unsigned long           tx_fifomask;
        unsigned long           tx_fifoshift;
        unsigned long           tx_fifofull;
-       unsigned int            def_clk_sel;
-       unsigned long           num_clks;
        unsigned long           clksel_mask;
        unsigned long           clksel_shift;
        unsigned long           ucon_mask;
+       u8                      def_clk_sel;
+       u8                      num_clks;
        u8                      iotype;
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help