[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <8432d37c-c3fb-4404-ab74-fb0a9940f0de@redhat.com>
Date: Tue, 21 May 2024 13:22:49 +0200
From: Danilo Krummrich <dakr@...hat.com>
To: Miguel Ojeda <miguel.ojeda.sandonis@...il.com>, pstanner@...hat.com
Cc: gregkh@...uxfoundation.org, rafael@...nel.org, bhelgaas@...gle.com,
ojeda@...nel.org, alex.gaynor@...il.com, wedsonaf@...il.com,
boqun.feng@...il.com, gary@...yguo.net, bjorn3_gh@...tonmail.com,
benno.lossin@...ton.me, a.hindborg@...sung.com, aliceryhl@...gle.com,
airlied@...il.com, fujita.tomonori@...il.com, lina@...hilina.net,
ajanulgu@...hat.com, lyude@...hat.com, rust-for-linux@...r.kernel.org,
linux-kernel@...r.kernel.org, linux-pci@...r.kernel.org
Subject: Re: [RFC PATCH 11/11] rust: PCI: add BAR request and ioremap
On 5/21/24 01:27, Miguel Ojeda wrote:
> On Mon, May 20, 2024 at 7:27 PM Danilo Krummrich <dakr@...hat.com> wrote:
>> + let barlen = pdev.resource_len(num)?;
>> + if barlen == 0 {
>> + return Err(ENOMEM);
>> + }
>> +
>> + // SAFETY:
>> + // `pdev` is always valid.
>
> Please explain why it is always valid -- the point of a `SAFETY`
> comment is not to say something is OK, but why it is so.
>
>> + // `barnr` is checked for validity at the top of the function.
I added pci::Device::resource_len(), since I needed to get the VRAM bar size in Nova.
pci::Device::resource_len() also needs to check for a valid bar index and is used
above, hence the check is implicit. I just forgot to change this comment accordingly.
>> + /// Returns the size of the given PCI bar resource.
>> + pub fn resource_len(&self, bar: u8) -> Result<bindings::resource_size_t> {
>
> Sometimes `bindings::` in signatures of public methods may be
> justified -- is it the case here? Or should a newtype or similar be
> provided instead? I only see this function being called inside the
> module, anyway.
I agree, I just added this function real quick to let Nova report the VRAM bar size
and forgot to clean this up.
>
>> + /// Mapps an entire PCI-BAR after performing a region-request on it.
>
> Typo.
>
> Cheers,
> Miguel
>
Powered by blists - more mailing lists