[haiku-commits] haiku: hrev45621 - src/add-ons/kernel/bus_managers/agp_gart src/add-ons/accelerants/intel_extreme headers/private/graphics/intel_extreme headers/private/graphics/radeon_hd src/add-ons/kernel/drivers/graphics/radeon_hd

  • From: korli@xxxxxxxxxxxxxxxx
  • To: haiku-commits@xxxxxxxxxxxxx
  • Date: Sat, 4 May 2013 20:24:05 +0200 (CEST)

hrev45621 adds 2 changesets to branch 'master'
old head: f756b25e8a83e5485162a48ebef70f226baa376d
new head: c162f52eaa83ca2cf01f61c4fb6353d76e10caa1
overview: http://cgit.haiku-os.org/haiku/log/?qt=range&q=c162f52+%5Ef756b25

----------------------------------------------------------------------------

82c2deb: agp_gart: some 64 bit fixes

c162f52: intel_extreme and radeon_hd: some 64 bit fixes

                                   [ Jérôme Duval <jerome.duval@xxxxxxxxx> ]

----------------------------------------------------------------------------

14 files changed, 36 insertions(+), 33 deletions(-)
headers/private/graphics/intel_extreme/AreaKeeper.h   |  6 +++---
.../private/graphics/intel_extreme/intel_extreme.h    |  4 ++--
headers/private/graphics/radeon_hd/AreaKeeper.h       |  6 +++---
src/add-ons/accelerants/intel_extreme/accelerant.h    |  4 ++--
src/add-ons/accelerants/intel_extreme/memory.cpp      |  4 ++--
src/add-ons/accelerants/intel_extreme/mode.cpp        | 15 +++++++++------
src/add-ons/kernel/bus_managers/agp_gart/agp_gart.cpp | 14 +++++++-------
.../kernel/drivers/graphics/intel_extreme/device.cpp  |  2 +-
.../kernel/drivers/graphics/intel_extreme/driver.cpp  |  2 +-
.../drivers/graphics/intel_extreme/intel_extreme.cpp  |  2 +-
.../graphics/intel_extreme/intel_extreme_private.h    |  2 +-
.../kernel/drivers/graphics/radeon_hd/driver.cpp      |  2 +-
.../kernel/drivers/graphics/radeon_hd/radeon_hd.cpp   |  4 ++--
.../drivers/graphics/radeon_hd/radeon_hd_private.h    |  2 +-

############################################################################

Commit:      82c2deb5b76c5715f74fcb35aea4ceb2c5a77336
URL:         http://cgit.haiku-os.org/haiku/commit/?id=82c2deb
Author:      Jérôme Duval <jerome.duval@xxxxxxxxx>
Date:        Sat May  4 17:50:17 2013 UTC

agp_gart: some 64 bit fixes

----------------------------------------------------------------------------

diff --git a/src/add-ons/kernel/bus_managers/agp_gart/agp_gart.cpp 
b/src/add-ons/kernel/bus_managers/agp_gart/agp_gart.cpp
index cc43abb..da9234e 100644
--- a/src/add-ons/kernel/bus_managers/agp_gart/agp_gart.cpp
+++ b/src/add-ons/kernel/bus_managers/agp_gart/agp_gart.cpp
@@ -248,7 +248,7 @@ check_capabilities(agp_device_info &deviceInfo, uint32 
&command)
                agpStatus = fix_rate_support(agpStatus);
        }
 
-       TRACE("device %u.%u.%u has AGP capabilities %lx\n", deviceInfo.info.bus,
+       TRACE("device %u.%u.%u has AGP capabilities %" B_PRIx32 "\n", 
deviceInfo.info.bus,
                deviceInfo.info.device, deviceInfo.info.function, agpStatus);
 
        // block non-supported AGP modes
@@ -482,8 +482,8 @@ Aperture::CreateMemory(size_t size, size_t alignment, 
uint32 flags)
                return NULL;
        }
 
-       TRACE("create memory %p, base %lx, size %lx, flags %lx\n", memory,
-               memory->base, memory->size, flags);
+       TRACE("create memory %p, base %" B_PRIxADDR ", size %" B_PRIxSIZE
+               ", flags %" B_PRIx32 "\n", memory, memory->base, memory->size, 
flags);
 
        memory->flags = flags;
 #if defined(__HAIKU__) && !defined(GART_TEST)
@@ -852,7 +852,7 @@ Aperture::_Insert(aperture_memory *memory, size_t size, 
size_t alignment,
 status_t
 get_nth_agp_info(uint32 index, agp_info *info)
 {
-       TRACE("get_nth_agp_info(index %lu)\n", index);
+       TRACE("get_nth_agp_info(index %" B_PRIu32 ")\n", index);
 
        if (index >= sDeviceCount)
                return B_BAD_VALUE;
@@ -888,7 +888,7 @@ release_agp(void)
 uint32
 set_agp_mode(uint32 command)
 {
-       TRACE("set_agp_mode(command %lx)\n", command);
+       TRACE("set_agp_mode(command %" B_PRIx32 ")\n", command);
 
        if ((command & AGP_ENABLE) == 0) {
                set_pci_mode();
@@ -912,7 +912,7 @@ set_agp_mode(uint32 command)
        }
 
        command = fix_rate_command(command);
-       TRACE("set AGP command %lx on all capable devices.\n", command);
+       TRACE("set AGP command %" B_PRIx32 " on all capable devices.\n", 
command);
 
        // The order of programming differs for enabling/disabling AGP mode
        // (see AGP specification)
@@ -1213,7 +1213,7 @@ agp_init(void)
                sDeviceCount++;
        }
 
-       TRACE("found %ld AGP devices\n", sDeviceCount);
+       TRACE("found %" B_PRId32 " AGP devices\n", sDeviceCount);
 
        // Since there can be custom aperture modules (for memory management 
only),
        // we always succeed if we could get the resources we need.

############################################################################

Revision:    hrev45621
Commit:      c162f52eaa83ca2cf01f61c4fb6353d76e10caa1
URL:         http://cgit.haiku-os.org/haiku/commit/?id=c162f52
Author:      Jérôme Duval <jerome.duval@xxxxxxxxx>
Date:        Sat May  4 18:20:33 2013 UTC

intel_extreme and radeon_hd: some 64 bit fixes

----------------------------------------------------------------------------

diff --git a/headers/private/graphics/intel_extreme/AreaKeeper.h 
b/headers/private/graphics/intel_extreme/AreaKeeper.h
index 8e17dec..d604bb4 100644
--- a/headers/private/graphics/intel_extreme/AreaKeeper.h
+++ b/headers/private/graphics/intel_extreme/AreaKeeper.h
@@ -22,7 +22,7 @@ class AreaKeeper {
 
                area_id Create(const char *name, void **_virtualAddress, uint32 
spec,
                        size_t size, uint32 lock, uint32 protection);
-               area_id Map(const char *name, void *physicalAddress, size_t 
numBytes,
+               area_id Map(const char *name, addr_t physicalAddress, size_t 
numBytes,
                        uint32 spec, uint32 protection, void **_virtualAddress);
 
                status_t InitCheck() { return fArea < B_OK ? (status_t)fArea : 
B_OK; }
@@ -57,10 +57,10 @@ AreaKeeper::Create(const char *name, void 
**_virtualAddress, uint32 spec,
 
 
 area_id
-AreaKeeper::Map(const char *name, void *physicalAddress, size_t numBytes,
+AreaKeeper::Map(const char *name, addr_t physicalAddress, size_t numBytes,
        uint32 spec, uint32 protection, void **_virtualAddress)
 {
-       fArea = map_physical_memory(name, (addr_t)physicalAddress, numBytes, 
spec,
+       fArea = map_physical_memory(name, physicalAddress, numBytes, spec,
                protection, _virtualAddress);
        return fArea;
 }
diff --git a/headers/private/graphics/intel_extreme/intel_extreme.h 
b/headers/private/graphics/intel_extreme/intel_extreme.h
index f7e7d22..b8e969f 100644
--- a/headers/private/graphics/intel_extreme/intel_extreme.h
+++ b/headers/private/graphics/intel_extreme/intel_extreme.h
@@ -226,13 +226,13 @@ struct intel_allocate_graphics_memory {
        uint32  size;
        uint32  alignment;
        uint32  flags;
-       uint32  buffer_base;
+       addr_t  buffer_base;
 };
 
 // free graphics memory
 struct intel_free_graphics_memory {
        uint32  magic;
-       uint32  buffer_base;
+       addr_t  buffer_base;
 };
 
 //----------------------------------------------------------
diff --git a/headers/private/graphics/radeon_hd/AreaKeeper.h 
b/headers/private/graphics/radeon_hd/AreaKeeper.h
index 8e17dec..d604bb4 100644
--- a/headers/private/graphics/radeon_hd/AreaKeeper.h
+++ b/headers/private/graphics/radeon_hd/AreaKeeper.h
@@ -22,7 +22,7 @@ class AreaKeeper {
 
                area_id Create(const char *name, void **_virtualAddress, uint32 
spec,
                        size_t size, uint32 lock, uint32 protection);
-               area_id Map(const char *name, void *physicalAddress, size_t 
numBytes,
+               area_id Map(const char *name, addr_t physicalAddress, size_t 
numBytes,
                        uint32 spec, uint32 protection, void **_virtualAddress);
 
                status_t InitCheck() { return fArea < B_OK ? (status_t)fArea : 
B_OK; }
@@ -57,10 +57,10 @@ AreaKeeper::Create(const char *name, void 
**_virtualAddress, uint32 spec,
 
 
 area_id
-AreaKeeper::Map(const char *name, void *physicalAddress, size_t numBytes,
+AreaKeeper::Map(const char *name, addr_t physicalAddress, size_t numBytes,
        uint32 spec, uint32 protection, void **_virtualAddress)
 {
-       fArea = map_physical_memory(name, (addr_t)physicalAddress, numBytes, 
spec,
+       fArea = map_physical_memory(name, physicalAddress, numBytes, spec,
                protection, _virtualAddress);
        return fArea;
 }
diff --git a/src/add-ons/accelerants/intel_extreme/accelerant.h 
b/src/add-ons/accelerants/intel_extreme/accelerant.h
index 1f8aa45..df5e274 100644
--- a/src/add-ons/accelerants/intel_extreme/accelerant.h
+++ b/src/add-ons/accelerants/intel_extreme/accelerant.h
@@ -105,7 +105,7 @@ extern void save_lvds_mode(void);
 extern status_t create_mode_list(void);
 
 // memory.cpp
-extern void intel_free_memory(uint32 base);
-extern status_t intel_allocate_memory(size_t size, uint32 flags, uint32 &base);
+extern void intel_free_memory(addr_t base);
+extern status_t intel_allocate_memory(size_t size, uint32 flags, addr_t &base);
 
 #endif /* INTEL_EXTREME_ACCELERANT_H */
diff --git a/src/add-ons/accelerants/intel_extreme/memory.cpp 
b/src/add-ons/accelerants/intel_extreme/memory.cpp
index 6ab8422..731b972 100644
--- a/src/add-ons/accelerants/intel_extreme/memory.cpp
+++ b/src/add-ons/accelerants/intel_extreme/memory.cpp
@@ -27,7 +27,7 @@
 
 
 void
-intel_free_memory(uint32 base)
+intel_free_memory(addr_t base)
 {
        if (base == 0)
                return;
@@ -42,7 +42,7 @@ intel_free_memory(uint32 base)
 
 
 status_t
-intel_allocate_memory(size_t size, uint32 flags, uint32 &base)
+intel_allocate_memory(size_t size, uint32 flags, addr_t &base)
 {
        intel_allocate_graphics_memory allocMemory;
        allocMemory.magic = INTEL_PRIVATE_DATA_MAGIC;
diff --git a/src/add-ons/accelerants/intel_extreme/mode.cpp 
b/src/add-ons/accelerants/intel_extreme/mode.cpp
index 2727a16..4e87f10 100644
--- a/src/add-ons/accelerants/intel_extreme/mode.cpp
+++ b/src/add-ons/accelerants/intel_extreme/mode.cpp
@@ -77,7 +77,7 @@ struct pll_limits {
 static status_t
 get_i2c_signals(void* cookie, int* _clock, int* _data)
 {
-       uint32 ioRegister = (uint32)cookie;
+       uint32 ioRegister = (uint32)(addr_t)cookie;
        uint32 value = read32(ioRegister);
 
        *_clock = (value & I2C_CLOCK_VALUE_IN) != 0;
@@ -90,7 +90,7 @@ get_i2c_signals(void* cookie, int* _clock, int* _data)
 static status_t
 set_i2c_signals(void* cookie, int clock, int data)
 {
-       uint32 ioRegister = (uint32)cookie;
+       uint32 ioRegister = (uint32)(addr_t)cookie;
        uint32 value;
 
        if (gInfo->shared_info->device_type.InGroup(INTEL_TYPE_83x)) {
@@ -488,17 +488,20 @@ sanitize_display_mode(display_mode& mode)
 
        // TODO: verify constraints - these are more or less taken from the
        // radeon driver!
-       const display_constraints constraints = {
+       display_constraints constraints = {
                // resolution
                320, 8192, 200, 4096,
                // pixel clock
                gInfo->shared_info->pll_info.min_frequency,
                gInfo->shared_info->pll_info.max_frequency,
                // horizontal
-               {olderCard ? 2 : 1, 0, 8160, 32, 8192, 0, 8192},
+               {1, 0, 8160, 32, 8192, 0, 8192},
                {1, 1, 4092, 2, 63, 1, 4096}
        };
 
+       if (olderCard)
+               constraints.horizontal_timing.resolution = 2;
+
        return sanitize_display_mode(mode, constraints,
                gInfo->has_edid ? &gInfo->edid_info : NULL);
 }
@@ -563,7 +566,7 @@ status_t
 create_mode_list(void)
 {
        i2c_bus bus;
-       bus.cookie = (void*)INTEL_I2C_IO_A;
+       bus.cookie = (void*)(addr_t)INTEL_I2C_IO_A;
        bus.set_signals = &set_i2c_signals;
        bus.get_signals = &get_i2c_signals;
        ddc2_init_timing(&bus);
@@ -762,7 +765,7 @@ if (first) {
 
        intel_free_memory(sharedInfo.frame_buffer);
 
-       uint32 base;
+       addr_t base;
        if (intel_allocate_memory(bytesPerRow * target.virtual_height, 0,
                        base) < B_OK) {
                // oh, how did that happen? Unfortunately, there is no really 
good way
diff --git a/src/add-ons/kernel/drivers/graphics/intel_extreme/device.cpp 
b/src/add-ons/kernel/drivers/graphics/intel_extreme/device.cpp
index 7b95058..5aa448c 100644
--- a/src/add-ons/kernel/drivers/graphics/intel_extreme/device.cpp
+++ b/src/add-ons/kernel/drivers/graphics/intel_extreme/device.cpp
@@ -231,7 +231,7 @@ device_ioctl(void* data, uint32 op, void* buffer, size_t 
bufferLength)
 
                        status_t status = intel_allocate_memory(*info, 
allocMemory.size,
                                allocMemory.alignment, allocMemory.flags,
-                               (addr_t* )&allocMemory.buffer_base);
+                               &allocMemory.buffer_base);
                        if (status == B_OK) {
                                // copy result
 #ifdef __HAIKU__
diff --git a/src/add-ons/kernel/drivers/graphics/intel_extreme/driver.cpp 
b/src/add-ons/kernel/drivers/graphics/intel_extreme/driver.cpp
index bfbd213..2fa2ff4 100644
--- a/src/add-ons/kernel/drivers/graphics/intel_extreme/driver.cpp
+++ b/src/add-ons/kernel/drivers/graphics/intel_extreme/driver.cpp
@@ -224,7 +224,7 @@ init_driver(void)
                gDeviceInfo[found]->init_status = B_NO_INIT;
                gDeviceInfo[found]->id = found;
                gDeviceInfo[found]->pci = info;
-               gDeviceInfo[found]->registers = 
(uint8*)info->u.h0.base_registers[0];
+               gDeviceInfo[found]->registers = info->u.h0.base_registers[0];
                gDeviceInfo[found]->device_identifier = 
kSupportedDevices[type].name;
                gDeviceInfo[found]->device_type = kSupportedDevices[type].type;
 
diff --git 
a/src/add-ons/kernel/drivers/graphics/intel_extreme/intel_extreme.cpp 
b/src/add-ons/kernel/drivers/graphics/intel_extreme/intel_extreme.cpp
index a6a8c81..8c4912d 100644
--- a/src/add-ons/kernel/drivers/graphics/intel_extreme/intel_extreme.cpp
+++ b/src/add-ons/kernel/drivers/graphics/intel_extreme/intel_extreme.cpp
@@ -239,7 +239,7 @@ intel_extreme_init(intel_info &info)
 
        AreaKeeper mmioMapper;
        info.registers_area = mmioMapper.Map("intel extreme mmio",
-               (void*)info.pci->u.h0.base_registers[mmioIndex],
+               (addr_t)info.pci->u.h0.base_registers[mmioIndex],
                info.pci->u.h0.base_register_sizes[mmioIndex],
                B_ANY_KERNEL_ADDRESS, B_KERNEL_READ_AREA | B_KERNEL_WRITE_AREA,
                (void**)&info.registers);
diff --git 
a/src/add-ons/kernel/drivers/graphics/intel_extreme/intel_extreme_private.h 
b/src/add-ons/kernel/drivers/graphics/intel_extreme/intel_extreme_private.h
index 8df7837..4735393 100644
--- a/src/add-ons/kernel/drivers/graphics/intel_extreme/intel_extreme_private.h
+++ b/src/add-ons/kernel/drivers/graphics/intel_extreme/intel_extreme_private.h
@@ -25,7 +25,7 @@ struct intel_info {
        addr_t                  aperture_base;
        aperture_id             aperture;
 
-       uint8*                  registers;
+       addr_t                  registers;
 
        area_id                 registers_area;
        struct intel_shared_info* shared_info;
diff --git a/src/add-ons/kernel/drivers/graphics/radeon_hd/driver.cpp 
b/src/add-ons/kernel/drivers/graphics/radeon_hd/driver.cpp
index ffb1ddc..beb0352 100644
--- a/src/add-ons/kernel/drivers/graphics/radeon_hd/driver.cpp
+++ b/src/add-ons/kernel/drivers/graphics/radeon_hd/driver.cpp
@@ -436,7 +436,7 @@ init_driver(void)
                gDeviceInfo[found]->init_status = B_NO_INIT;
                gDeviceInfo[found]->id = found;
                gDeviceInfo[found]->pci = info;
-               gDeviceInfo[found]->registers = 
(uint8*)info->u.h0.base_registers[0];
+               gDeviceInfo[found]->registers = info->u.h0.base_registers[0];
                gDeviceInfo[found]->pciID = kSupportedDevices[type].pciID;
                gDeviceInfo[found]->deviceName = 
kSupportedDevices[type].deviceName;
                gDeviceInfo[found]->chipsetID = 
kSupportedDevices[type].chipsetID;
diff --git a/src/add-ons/kernel/drivers/graphics/radeon_hd/radeon_hd.cpp 
b/src/add-ons/kernel/drivers/graphics/radeon_hd/radeon_hd.cpp
index 1609f9c..4d04892 100644
--- a/src/add-ons/kernel/drivers/graphics/radeon_hd/radeon_hd.cpp
+++ b/src/add-ons/kernel/drivers/graphics/radeon_hd/radeon_hd.cpp
@@ -592,7 +592,7 @@ radeon_hd_init(radeon_info &info)
        // *** Map Memory mapped IO
        AreaKeeper mmioMapper;
        info.registers_area = mmioMapper.Map("radeon hd mmio",
-               (void*)info.pci->u.h0.base_registers[PCI_BAR_MMIO],
+               info.pci->u.h0.base_registers[PCI_BAR_MMIO],
                info.pci->u.h0.base_register_sizes[PCI_BAR_MMIO],
                B_ANY_KERNEL_ADDRESS, B_KERNEL_READ_AREA | B_KERNEL_WRITE_AREA,
                (void**)&info.registers);
@@ -665,7 +665,7 @@ radeon_hd_init(radeon_info &info)
        // *** Framebuffer mapping
        AreaKeeper frambufferMapper;
        info.framebuffer_area = frambufferMapper.Map("radeon hd frame buffer",
-               (void*)info.pci->u.h0.base_registers[PCI_BAR_FB],
+               info.pci->u.h0.base_registers[PCI_BAR_FB],
                info.shared_info->frame_buffer_size * 1024,
                B_ANY_KERNEL_ADDRESS, B_READ_AREA | B_WRITE_AREA,
                (void**)&info.shared_info->frame_buffer);
diff --git a/src/add-ons/kernel/drivers/graphics/radeon_hd/radeon_hd_private.h 
b/src/add-ons/kernel/drivers/graphics/radeon_hd/radeon_hd_private.h
index 1013522..ad9d2ed 100644
--- a/src/add-ons/kernel/drivers/graphics/radeon_hd/radeon_hd_private.h
+++ b/src/add-ons/kernel/drivers/graphics/radeon_hd/radeon_hd_private.h
@@ -34,7 +34,7 @@ struct radeon_info {
        status_t                init_status;
        int32                   id;
        pci_info*               pci;
-       uint8*                  registers;
+       addr_t                  registers;
 
        uint8*                  atom_buffer;    // buffer for atombios
 


Other related posts: