History log of /haiku/src/add-ons/kernel/busses/ata/silicon_image_3112/silicon_image_3112.c
Revision Date Author Comments
# 215b685f 11-Dec-2022 X512 <danger_mail@list.ru>

kernel: Drop non-standard GNU inline assignment syntax

* We needed this previously due to our gcc2 compiled kernel.
* Now that our kernel is always latest gcc, we can move to the
c++20 syntax for inline assignment.
* Improves compatibility with clang, less GNU-specific stuff

Change-Id: Ib7272a0a52554a31e9a0e788fd3f031db9049795
Reviewed-on: https://review.haiku-os.org/c/haiku/+/5898
Reviewed-by: Alex von Gluck IV <kallisti5@unixzen.com>
Reviewed-by: Adrien Destugues <pulkomandy@pulkomandy.tk>


# bce7dc88 27-Nov-2022 Jérôme Duval <jerome.duval@gmail.com>

silicon_image_3112: use kernel read/write protection for map_physical_memory

Change-Id: I04655afb3f552e5919923ab96f96f32d0f8db6b9
Reviewed-on: https://review.haiku-os.org/c/haiku/+/5834
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: Jérôme Duval <jerome.duval@gmail.com>


# 956f4507 22-May-2022 Trung Nguyen <trungnt282910@gmail.com>

kernel/vm: Remove default kernel read/write flags

`fix_protection` will not apply `B_KERNEL_READ_AREA` and
`B_KERNEL_WRITE_AREA` by default.

Kernel drivers that directly call `create_area` or `create_area_etc`
and do not pass any protection flags have been updated to
apply `B_KERNEL_READ_AREA | B_KERNEL_WRITE_AREA` instead.

Bug: #17751
Change-Id: I43e7ee6b5396e0309cdcff750e28262942c6d01c
Reviewed-on: https://review.haiku-os.org/c/haiku/+/5330
Reviewed-by: waddlesplash <waddlesplash@gmail.com>


# 4dde854c 21-Nov-2017 François Revol <revol@free.fr>

silicon_image_3112: Remove bad casts for ram_address()

We now accept and return a phys_addr_t as we ought to.


# 6922a8fe 10-May-2013 Jérôme Duval <jerome.duval@gmail.com>

silicon_image_3112: fixes 64 bit warnings


# be95e26d 15-Aug-2010 Andreas Färber <andreas.faerber@web.de>

ATA: Type fix for byte swapping

Cast pointer arguments for B_HOST_TO_LENDIAN_INT32 to uint32.

Resolves warnings treated as errors for Big Endian targets.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38114 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 5e679f28 23-Jun-2010 Ingo Weinhold <ingo_weinhold@gmx.de>

Set B_DMA_HIGH_ADDRESS to 4 GB in the ATA/IDE modules.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37227 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 9fb2d737 23-Jun-2010 Ingo Weinhold <ingo_weinhold@gmx.de>

Replaced B_32_BIT_MEMORY by B_32_BIT_FULL_LOCK and B_32_BIT_CONTIGUOUS, so
the constraint can be expressed more precisely. ATM B_32_BIT_FULL_LOCK is
implemented as B_32_BIT_CONTIGUOUS when B_HAIKU_PHYSICAL_BITS > 32, though.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37226 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 6a76b519 21-Jun-2010 Ingo Weinhold <ingo_weinhold@gmx.de>

* Force 32 bit physical addresses.
* Added TODO about apparently ignored 64 KB boundary.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37218 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 64d79eff 27-May-2010 Ingo Weinhold <ingo_weinhold@gmx.de>

* Changed physical_entry::{address,size} to phys_{addr,size}_t and changed
map_physical_memory()'s physicalAddress parameter type from void* to
phys_addr_t. This breaks source compatibility, but -- as long as
phys_{addr,size}_t remain 32 bit wide -- keeps binary compatibility with
BeOS.
* Adjusted all code using the affected interfaces (Oh what fun!). Added a few
TODOs in places where the wrong types (e.g. void* for physical addresses
are used). Looks like quite a few drivers aren't 64 bit safe and others
will break with PAE.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36960 a95241bf-73f2-0310-859d-f6bbb57e9c96


# c43d83c8 07-Sep-2009 Marcus Overhagen <marcusoverhagen@gmail.com>

Use kernel tracing for debugging output.
Fix interrupt handling for bus master DMA.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32988 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 7f33d2c1 10-May-2009 Stephan Aßmus <superstippi@gmx.de>

I am trying to help a bit with the transition from IDE to ATA stack.
* Copied ide_adapter.h as ata_adapter.h in attempt to further
separate the two stacks.
* Continued renaming stuff in drivers/bus/ATA.h
* Make all the busses/ata drivers include the new headers,
specifically ata_types.h, ata_adapter.h and bus/ATA.h,
they were all including ide_types and bus/IDE.h still
* Some renaming of global variables for coding style consistency
* Removed the promise driver from the build, it's not used on the
image and I don't believe it compiled even for the old IDE stack.
* There is no more Command Queueing in the new ATA stack, so I
removed the capability indication from the busses/ata drivers
and ata_adapter.h.

The new ATA stack still boots fine on my computer and I proof-read
the diff like two times. Basically, this was a careful search&replace
job only. The only things I am not sure about is renaming some
publishing related strings, but it seems to all work fine.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30700 a95241bf-73f2-0310-859d-f6bbb57e9c96


# f04362ea 10-May-2009 Stephan Aßmus <superstippi@gmx.de>

* Change the drivers that use the ATA stack (ata_adapter) to publish
themselves in busses/ata instead of busses/ide.
* Re-introduce Francois change to install these drivers in busses/ata
when building with HAIKU_ATA_STACK = 1.
* Adopted the device manager to look for drivers in busses/ata
additionally to busses/ide.

This change works fine with a clean installation on a computer where I can
(and indeed have to) use the new ATA stack.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30695 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 730e6467 29-Apr-2009 Marcus Overhagen <marcusoverhagen@gmail.com>

modified interrupt handling to fit ata_adapter


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30493 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 587382f9 29-Apr-2009 Marcus Overhagen <marcusoverhagen@gmail.com>

Copy ide busses into new ata busses folder, so they can be modified without breaking ide.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30486 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 6922a8fe9bc38cd0d953822aec8d74a6c010b051 10-May-2013 Jérôme Duval <jerome.duval@gmail.com>

silicon_image_3112: fixes 64 bit warnings


# be95e26df8fedf36ac13b639408598851fa4d97d 15-Aug-2010 Andreas Färber <andreas.faerber@web.de>

ATA: Type fix for byte swapping

Cast pointer arguments for B_HOST_TO_LENDIAN_INT32 to uint32.

Resolves warnings treated as errors for Big Endian targets.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38114 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 5e679f282f7bf35d4da65d1a53a8f4b5460cc3ad 23-Jun-2010 Ingo Weinhold <ingo_weinhold@gmx.de>

Set B_DMA_HIGH_ADDRESS to 4 GB in the ATA/IDE modules.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37227 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 9fb2d73772382ea2ccfb62e912f9bfb9c39ac26d 23-Jun-2010 Ingo Weinhold <ingo_weinhold@gmx.de>

Replaced B_32_BIT_MEMORY by B_32_BIT_FULL_LOCK and B_32_BIT_CONTIGUOUS, so
the constraint can be expressed more precisely. ATM B_32_BIT_FULL_LOCK is
implemented as B_32_BIT_CONTIGUOUS when B_HAIKU_PHYSICAL_BITS > 32, though.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37226 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 6a76b51960b63b7529c36307287735af0d9ae7b9 21-Jun-2010 Ingo Weinhold <ingo_weinhold@gmx.de>

* Force 32 bit physical addresses.
* Added TODO about apparently ignored 64 KB boundary.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37218 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 64d79eff7290437d24b1a420537c3ed5c144ab96 27-May-2010 Ingo Weinhold <ingo_weinhold@gmx.de>

* Changed physical_entry::{address,size} to phys_{addr,size}_t and changed
map_physical_memory()'s physicalAddress parameter type from void* to
phys_addr_t. This breaks source compatibility, but -- as long as
phys_{addr,size}_t remain 32 bit wide -- keeps binary compatibility with
BeOS.
* Adjusted all code using the affected interfaces (Oh what fun!). Added a few
TODOs in places where the wrong types (e.g. void* for physical addresses
are used). Looks like quite a few drivers aren't 64 bit safe and others
will break with PAE.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36960 a95241bf-73f2-0310-859d-f6bbb57e9c96


# c43d83c81afd1076eea9c116442cfa075d9a1efb 07-Sep-2009 Marcus Overhagen <marcusoverhagen@gmail.com>

Use kernel tracing for debugging output.
Fix interrupt handling for bus master DMA.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32988 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 7f33d2c1594b3021dcc12daf679c6758e486ceb3 10-May-2009 Stephan Aßmus <superstippi@gmx.de>

I am trying to help a bit with the transition from IDE to ATA stack.
* Copied ide_adapter.h as ata_adapter.h in attempt to further
separate the two stacks.
* Continued renaming stuff in drivers/bus/ATA.h
* Make all the busses/ata drivers include the new headers,
specifically ata_types.h, ata_adapter.h and bus/ATA.h,
they were all including ide_types and bus/IDE.h still
* Some renaming of global variables for coding style consistency
* Removed the promise driver from the build, it's not used on the
image and I don't believe it compiled even for the old IDE stack.
* There is no more Command Queueing in the new ATA stack, so I
removed the capability indication from the busses/ata drivers
and ata_adapter.h.

The new ATA stack still boots fine on my computer and I proof-read
the diff like two times. Basically, this was a careful search&replace
job only. The only things I am not sure about is renaming some
publishing related strings, but it seems to all work fine.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30700 a95241bf-73f2-0310-859d-f6bbb57e9c96


# f04362eac370efa2b6824b7109a737db126a526a 10-May-2009 Stephan Aßmus <superstippi@gmx.de>

* Change the drivers that use the ATA stack (ata_adapter) to publish
themselves in busses/ata instead of busses/ide.
* Re-introduce Francois change to install these drivers in busses/ata
when building with HAIKU_ATA_STACK = 1.
* Adopted the device manager to look for drivers in busses/ata
additionally to busses/ide.

This change works fine with a clean installation on a computer where I can
(and indeed have to) use the new ATA stack.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30695 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 730e6467fe3de8981beb715a3cb6d476d299ea31 29-Apr-2009 Marcus Overhagen <marcusoverhagen@gmail.com>

modified interrupt handling to fit ata_adapter


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30493 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 587382f9d656c287e2f0fe2baea0859580ccf273 29-Apr-2009 Marcus Overhagen <marcusoverhagen@gmail.com>

Copy ide busses into new ata busses folder, so they can be modified without breaking ide.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30486 a95241bf-73f2-0310-859d-f6bbb57e9c96