[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <67E28AC5-3EE3-4E0B-9CA1-BBDADA5A28C0@collabora.com>
Date: Fri, 25 Jul 2025 14:59:24 -0300
From: Daniel Almeida <daniel.almeida@...labora.com>
To: Alexandre Courbot <acourbot@...dia.com>
Cc: Danilo Krummrich <dakr@...nel.org>,
David Airlie <airlied@...il.com>,
Simona Vetter <simona@...ll.ch>,
Maarten Lankhorst <maarten.lankhorst@...ux.intel.com>,
Maxime Ripard <mripard@...nel.org>,
Thomas Zimmermann <tzimmermann@...e.de>,
Beata Michalska <beata.michalska@....com>,
nouveau@...ts.freedesktop.org,
dri-devel@...ts.freedesktop.org,
rust-for-linux@...r.kernel.org,
linux-kernel@...r.kernel.org
Subject: Re: [PATCH v2 14/19] gpu: nova-core: register: use #[inline(always)]
for all methods
> On 18 Jul 2025, at 04:26, Alexandre Courbot <acourbot@...dia.com> wrote:
>
> These methods should always be inlined, so use the strongest compiler
> hint that exists to maximize the chance they will indeed be.
>
> Signed-off-by: Alexandre Courbot <acourbot@...dia.com>
> ---
> drivers/gpu/nova-core/regs/macros.rs | 16 ++++++++--------
> 1 file changed, 8 insertions(+), 8 deletions(-)
>
> diff --git a/drivers/gpu/nova-core/regs/macros.rs b/drivers/gpu/nova-core/regs/macros.rs
> index bfa0220050d4ba03c9fcd75c9be1ed8dbaa4f290..a9f754056c3521b2a288f34bf3d78ec56db53451 100644
> --- a/drivers/gpu/nova-core/regs/macros.rs
> +++ b/drivers/gpu/nova-core/regs/macros.rs
> @@ -280,7 +280,7 @@ impl $name {
> #[doc="Returns the value of this field:"]
> #[doc=$comment]
> )?
> - #[inline]
> + #[inline(always)]
> pub(crate) fn $field(self) -> $res_type {
> ::kernel::macros::paste!(
> const MASK: u32 = $name::[<$field:upper _MASK>];
> @@ -296,7 +296,7 @@ pub(crate) fn $field(self) -> $res_type {
> #[doc="Sets the value of this field:"]
> #[doc=$comment]
> )?
> - #[inline]
> + #[inline(always)]
> pub(crate) fn [<set_ $field>](mut self, value: $to_type) -> Self {
> const MASK: u32 = $name::[<$field:upper _MASK>];
> const SHIFT: u32 = $name::[<$field:upper _SHIFT>];
> @@ -348,7 +348,7 @@ impl $name {
> pub(crate) const OFFSET: usize = $offset;
>
> /// Read the register from its address in `io`.
> - #[inline]
> + #[inline(always)]
> pub(crate) fn read<const SIZE: usize, T>(io: &T) -> Self where
> T: ::core::ops::Deref<Target = ::kernel::io::Io<SIZE>>,
> {
> @@ -356,7 +356,7 @@ pub(crate) fn read<const SIZE: usize, T>(io: &T) -> Self where
> }
>
> /// Write the value contained in `self` to the register address in `io`.
> - #[inline]
> + #[inline(always)]
> pub(crate) fn write<const SIZE: usize, T>(self, io: &T) where
> T: ::core::ops::Deref<Target = ::kernel::io::Io<SIZE>>,
> {
> @@ -365,7 +365,7 @@ pub(crate) fn write<const SIZE: usize, T>(self, io: &T) where
>
> /// Read the register from its address in `io` and run `f` on its value to obtain a new
> /// value to write back.
> - #[inline]
> + #[inline(always)]
> pub(crate) fn alter<const SIZE: usize, T, F>(
> io: &T,
> f: F,
> @@ -385,7 +385,7 @@ pub(crate) fn alter<const SIZE: usize, T, F>(
> impl $name {
> pub(crate) const OFFSET: usize = $offset;
>
> - #[inline]
> + #[inline(always)]
> pub(crate) fn read<const SIZE: usize, T>(
> io: &T,
> base: usize,
> @@ -395,7 +395,7 @@ pub(crate) fn read<const SIZE: usize, T>(
> Self(io.read32(base + $offset))
> }
>
> - #[inline]
> + #[inline(always)]
> pub(crate) fn write<const SIZE: usize, T>(
> self,
> io: &T,
> @@ -406,7 +406,7 @@ pub(crate) fn write<const SIZE: usize, T>(
> io.write32(self.0, base + $offset)
> }
>
> - #[inline]
> + #[inline(always)]
> pub(crate) fn alter<const SIZE: usize, T, F>(
> io: &T,
> base: usize,
>
> --
> 2.50.1
>
>
Reviewed-by: Daniel Almeida <daniel.almeida@...labora.com>
Powered by blists - more mailing lists