mirror of
https://github.com/torvalds/linux.git
synced 2026-06-01 11:03:43 +02:00
gpu: nova-core: use try_from instead of as for u32 conversions
There are a few situations in the driver where we convert a `usize` into a `u32` using `as`. Even though most of these are obviously correct, use `try_from` and let the compiler optimize wherever it is safe to do so. Acked-by: Danilo Krummrich <dakr@kernel.org> Signed-off-by: Alexandre Courbot <acourbot@nvidia.com> Message-ID: <20251029-nova-as-v3-3-6a30c7333ad9@nvidia.com>
This commit is contained in:
parent
505c3ec507
commit
6553a8f168
|
|
@ -15,15 +15,13 @@ pub(super) fn read_sysmem_flush_page_gm107(bar: &Bar0) -> u64 {
|
|||
|
||||
pub(super) fn write_sysmem_flush_page_gm107(bar: &Bar0, addr: u64) -> Result {
|
||||
// Check that the address doesn't overflow the receiving 32-bit register.
|
||||
if addr >> (u32::BITS + FLUSH_SYSMEM_ADDR_SHIFT) == 0 {
|
||||
regs::NV_PFB_NISO_FLUSH_SYSMEM_ADDR::default()
|
||||
.set_adr_39_08((addr >> FLUSH_SYSMEM_ADDR_SHIFT) as u32)
|
||||
.write(bar);
|
||||
|
||||
Ok(())
|
||||
} else {
|
||||
Err(EINVAL)
|
||||
}
|
||||
u32::try_from(addr >> FLUSH_SYSMEM_ADDR_SHIFT)
|
||||
.map_err(|_| EINVAL)
|
||||
.map(|addr| {
|
||||
regs::NV_PFB_NISO_FLUSH_SYSMEM_ADDR::default()
|
||||
.set_adr_39_08(addr)
|
||||
.write(bar)
|
||||
})
|
||||
}
|
||||
|
||||
pub(super) fn display_enabled_gm107(bar: &Bar0) -> bool {
|
||||
|
|
|
|||
|
|
@ -291,7 +291,7 @@ fn new_fwsec(dev: &Device<device::Bound>, bios: &Vbios, cmd: FwsecCommand) -> Re
|
|||
|
||||
frts_cmd.read_vbios = ReadVbios {
|
||||
ver: 1,
|
||||
hdr: size_of::<ReadVbios>() as u32,
|
||||
hdr: u32::try_from(size_of::<ReadVbios>())?,
|
||||
addr: 0,
|
||||
size: 0,
|
||||
flags: 2,
|
||||
|
|
@ -304,9 +304,9 @@ fn new_fwsec(dev: &Device<device::Bound>, bios: &Vbios, cmd: FwsecCommand) -> Re
|
|||
} => {
|
||||
frts_cmd.frts_region = FrtsRegion {
|
||||
ver: 1,
|
||||
hdr: size_of::<FrtsRegion>() as u32,
|
||||
addr: (frts_addr >> 12) as u32,
|
||||
size: (frts_size >> 12) as u32,
|
||||
hdr: u32::try_from(size_of::<FrtsRegion>())?,
|
||||
addr: u32::try_from(frts_addr >> 12)?,
|
||||
size: u32::try_from(frts_size >> 12)?,
|
||||
ftype: NVFW_FRTS_CMD_REGION_TYPE_FB,
|
||||
};
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user