0a3e1fa7db
- Fix ASIC detection: use PCI device_id instead of broken MMIO offset-0 read. Add proper device_id->ASIC family lookup table covering Navi10-Navi33 (RDNA1/RDNA2/RDNA3). Add per-family properties (DCN revision, firmware name, OTG/HUBP base offsets, HPD register). - Wire quirk flags from Rust to C: replace pci_get_quirk_flags/pci_has_quirk stubs (previously always returned 0/false) with stored quirk_flags set via new FFI redox_pci_set_quirk_flags(). Quirk-aware IRQ policy now actually works. - Store firmware blobs from Rust to C: add redox_firmware_store() FFI to pass firmware blobs from AmdDriver.firmware HashMap into C-side storage. C side can now fall back to scheme:firmware if blobs not pre-stored. - Fix connector descriptors: replace hardcoded 600x340mm fake dimensions with per-ASIC-family connector tables (desktop dGPU vs APU layout). Set mm_width/ mm_height to 0 (unprobed — needs DC hardware detection). HPD register offset now comes from per-family asic_props table. - Fix register offsets: replace hardcoded OTG base 0x4800 / HUBP base 0x5800 (Navi23-specific) with per-DCN-revision dispatch from asic_props table (DCN2.0=0x4000/0x5000, DCN3.0=0x4800/0x5800, DCN3.2=0x5000/0x6000).