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

Re: [PATCH 18/18] tty: serial: samsung: shrink memory footprint of ``struct s3c24xx_uart_info``

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

On Wed, Jan 10, 2024 at 4:26 AM Tudor Ambarus [off-list ref] wrote:
Use u32 for the members of ``struct s3c24xx_uart_info`` that are used
for register interactions. The purpose of these members becomes clearer.

The greater benefit of this change is that it also reduces the memory
footprint of the struct, allowing 64-bit architectures to use a
single cacheline for the entire struct.

struct s3c24xx_uart_info {
        const char  *              name;                 /*     0     8 */
        enum s3c24xx_port_type     type;                 /*     8     4 */
        unsigned int               port_type;            /*    12     4 */
        unsigned int               fifosize;             /*    16     4 */
        u32                        rx_fifomask;          /*    20     4 */
        u32                        rx_fifoshift;         /*    24     4 */
        u32                        rx_fifofull;          /*    28     4 */
        u32                        tx_fifomask;          /*    32     4 */
        u32                        tx_fifoshift;         /*    36     4 */
        u32                        tx_fifofull;          /*    40     4 */
        u32                        clksel_mask;          /*    44     4 */
        u32                        clksel_shift;         /*    48     4 */
        u32                        ucon_mask;            /*    52     4 */
        u8                         def_clk_sel;          /*    56     1 */
        u8                         num_clks;             /*    57     1 */
        u8                         iotype;               /*    58     1 */
        u8                         has_divslot:1;        /*    59: 0  1 */

        /* size: 64, cachelines: 1, members: 17 */
        /* padding: 4 */
        /* bit_padding: 7 bits */
};

Signed-off-by: Tudor Ambarus <tudor.ambarus@linaro.org>
---
Reviewed-by: Sam Protsenko <semen.protsenko@linaro.org>
quoted hunk ↗ jump to hunk
 drivers/tty/serial/samsung_tty.c | 18 +++++++++---------
 1 file changed, 9 insertions(+), 9 deletions(-)
diff --git a/drivers/tty/serial/samsung_tty.c b/drivers/tty/serial/samsung_tty.c
index 598d9fe7a492..40dceb41acb7 100644
--- a/drivers/tty/serial/samsung_tty.c
+++ b/drivers/tty/serial/samsung_tty.c
@@ -75,15 +75,15 @@ struct s3c24xx_uart_info {
        enum s3c24xx_port_type  type;
        unsigned int            port_type;
        unsigned int            fifosize;
-       unsigned long           rx_fifomask;
-       unsigned long           rx_fifoshift;
-       unsigned long           rx_fifofull;
-       unsigned long           tx_fifomask;
-       unsigned long           tx_fifoshift;
-       unsigned long           tx_fifofull;
-       unsigned long           clksel_mask;
-       unsigned long           clksel_shift;
-       unsigned long           ucon_mask;
+       u32                     rx_fifomask;
+       u32                     rx_fifoshift;
+       u32                     rx_fifofull;
+       u32                     tx_fifomask;
+       u32                     tx_fifoshift;
+       u32                     tx_fifofull;
+       u32                     clksel_mask;
+       u32                     clksel_shift;
+       u32                     ucon_mask;
        u8                      def_clk_sel;
        u8                      num_clks;
        u8                      iotype;
--
2.43.0.472.g3155946c3a-goog
_______________________________________________
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