1 // SPDX-License-Identifier: GPL-2.0 2 3 use kernel::io::register; 4 5 // PDISP 6 7 register! { 8 pub(super) NV_PDISP_VGA_WORKSPACE_BASE(u32) @ 0x00625f04 { 9 /// VGA workspace base address divided by 0x10000. 10 31:8 addr; 11 /// Set if the `addr` field is valid. 12 3:3 status_valid => bool; 13 } 14 } 15 16 impl NV_PDISP_VGA_WORKSPACE_BASE { 17 /// Returns the base address of the VGA workspace, or `None` if none exists. 18 pub(super) fn vga_workspace_addr(self) -> Option<u64> { 19 if self.status_valid() { 20 Some(u64::from(self.addr()) << 16) 21 } else { 22 None 23 } 24 } 25 } 26