linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* gpu: nova-core: arm32 build errors
@ 2025-08-28 16:02 Miguel Ojeda
  2025-08-28 17:54 ` Danilo Krummrich
  0 siblings, 1 reply; 10+ messages in thread
From: Miguel Ojeda @ 2025-08-28 16:02 UTC (permalink / raw)
  To: Danilo Krummrich, Alexandre Courbot, David Airlie, Simona Vetter
  Cc: nouveau, dri-devel, rust-for-linux, linux-kernel, Miguel Ojeda

Hi Danilo et al.,

In Linus' tree and -next, for an arm32 LLVM defconfig plus Rust build, I see:

    error[E0308]: mismatched types
      --> drivers/gpu/nova-core/fb.rs:49:59
       |
    49 |         hal::fb_hal(chipset).write_sysmem_flush_page(bar, page.dma_handle())?;
       |                              -----------------------      ^^^^^^^^^^^^^^^^^ expected `u64`, found `u32`
       |                              |
       |                              arguments to this method are incorrect
       |
    note: method defined here
      --> drivers/gpu/nova-core/fb/hal.rs:19:8
       |
    19 |     fn write_sysmem_flush_page(&self, bar: &Bar0, addr: u64) -> Result;
       |        ^^^^^^^^^^^^^^^^^^^^^^^
    help: you can convert a `u32` to a `u64`
       |
    49 |         hal::fb_hal(chipset).write_sysmem_flush_page(bar, page.dma_handle().into())?;
       |                                                                            +++++++


    error[E0308]: mismatched types
      --> drivers/gpu/nova-core/fb.rs:65:47
       |
    65 |         if hal.read_sysmem_flush_page(bar) == self.page.dma_handle() {
       |            -------------------------------    ^^^^^^^^^^^^^^^^^^^^^^ expected `u64`, found `u32`
       |            |
       |            expected because this is `u64`
       |
    help: you can convert a `u32` to a `u64`
       |
    65 |         if hal.read_sysmem_flush_page(bar) == self.page.dma_handle().into() {
       |                                                                     +++++++


    error: this arithmetic operation will overflow
       --> drivers/gpu/nova-core/falcon.rs:469:23
        |
    469 |             .set_base((dma_start >> 40) as u16)
        |                       ^^^^^^^^^^^^^^^^^ attempt to shift right by `40_i32`, which would overflow
        |
        = note: `#[deny(arithmetic_overflow)]` on by default

Similar to another one I sent, I hope it helps -- it may be useful to make it
build in 32-bit as a test for those kinds of platforms.

Thanks!

Cheers,
Miguel

^ permalink raw reply	[flat|nested] 10+ messages in thread

end of thread, other threads:[~2025-08-28 21:54 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-08-28 16:02 gpu: nova-core: arm32 build errors Miguel Ojeda
2025-08-28 17:54 ` Danilo Krummrich
2025-08-28 19:24   ` Danilo Krummrich
2025-08-28 19:31     ` Miguel Ojeda
2025-08-28 19:36       ` Miguel Ojeda
2025-08-28 19:58         ` Danilo Krummrich
2025-08-28 21:27           ` Danilo Krummrich
2025-08-28 19:57       ` Danilo Krummrich
2025-08-28 21:45       ` John Hubbard
2025-08-28 21:54         ` Danilo Krummrich

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).