Fix ihdad.

This commit is contained in:
4lDO2
2023-12-16 13:12:17 +01:00
parent 8d11fb34de
commit 04f60cf7be
2 changed files with 8 additions and 12 deletions
+7 -11
View File
@@ -73,12 +73,12 @@ struct Corb {
}
impl Corb {
pub fn new(regs_addr: usize, corb_buff_phys: usize, corb_buff_virt: usize) -> Corb {
pub fn new(regs_addr: usize, corb_buff_phys: usize, corb_buff_virt: *mut u32) -> Corb {
println!("regs addr {:x}", regs_addr);
unsafe {
Corb {
regs: &mut *(regs_addr as *mut CorbRegs),
corb_base: (corb_buff_virt) as *mut u32,
corb_base: corb_buff_virt,
corb_base_phys: corb_buff_phys,
corb_count: 0,
}
@@ -209,11 +209,11 @@ struct Rirb {
}
impl Rirb {
pub fn new(regs_addr: usize, rirb_buff_phys: usize, rirb_buff_virt: usize) -> Rirb {
pub fn new(regs_addr: usize, rirb_buff_phys: usize, rirb_buff_virt: *mut u64) -> Rirb {
unsafe {
Rirb {
regs: &mut *(regs_addr as *mut RirbRegs),
rirb_base: (rirb_buff_virt) as *mut u64,
rirb_base: rirb_buff_virt,
rirb_rp: 0,
rirb_base_phys: rirb_buff_phys,
rirb_count: 0,
@@ -343,8 +343,6 @@ pub struct CommandBuffer {
rirb: Rirb,
icmd: ImmediateCommand,
corb_rirb_base_phys: usize,
use_immediate_cmd: bool,
mem: Dma<[u8; 0x1000]>,
}
@@ -352,13 +350,13 @@ pub struct CommandBuffer {
impl CommandBuffer {
pub fn new(
regs_addr: usize,
cmd_buff: Dma<[u8; 0x1000]>,
mut cmd_buff: Dma<[u8; 0x1000]>,
) -> CommandBuffer {
let corb = Corb::new(regs_addr + CORB_OFFSET, cmd_buff.physical(), cmd_buff.as_ptr() as usize);
let corb = Corb::new(regs_addr + CORB_OFFSET, cmd_buff.physical(), cmd_buff.as_mut_ptr().cast());
let rirb = Rirb::new(
regs_addr + RIRB_OFFSET,
cmd_buff.as_ptr() as usize + CORB_BUFF_MAX_SIZE,
cmd_buff.physical() + CORB_BUFF_MAX_SIZE,
cmd_buff.as_mut_ptr().cast::<u8>().wrapping_add(CORB_BUFF_MAX_SIZE).cast(),
);
let icmd = ImmediateCommand::new(regs_addr + ICMD_OFFSET);
@@ -368,8 +366,6 @@ impl CommandBuffer {
rirb,
icmd,
corb_rirb_base_phys: cmd_buff.physical(),
use_immediate_cmd: false,
mem: cmd_buff,
+1 -1
View File
@@ -33,7 +33,7 @@ fn setup_logging() -> Option<&'static RedoxLogger> {
let mut logger = RedoxLogger::new()
.with_output(
OutputBuilder::stderr()
.with_filter(log::LevelFilter::Info) // limit global output to important info
.with_filter(log::LevelFilter::Debug) // limit global output to important info
.with_ansi_escape_codes()
.flush_on_newline(true)
.build()