Opened 20 months ago

Closed 20 months ago

Last modified 20 months ago

#13819 closed enhancement (fixed)

Highpoint HPT 3xx UDMA ATA driver

Reported by: Alexco Owned by: nobody
Priority: normal Milestone: Unscheduled
Component: Drivers/Disk Version: R1/Development
Keywords: Cc:
Blocked By: Blocking:
Has a Patch: yes Platform: x86

Description

After playing around with Haiku's ATA stack I implemented a basic driver to support Highpoint HPT36x/37x devices. This enables my test system to boot up correctly and use the drives attached to this controller. As with all Haiku ATA drivers (as far as I understand the code) there is no way of setting DMA mode by the driver. ATA stack relies on correct initialisation of controller/drives by BIOS.

Attachments (5)

highpoint_ata.h (1006 bytes) - added by Alexco 20 months ago.
highpoint_ide_pci.cpp (11.6 KB) - added by Alexco 20 months ago.
Jamfile (162 bytes) - added by Alexco 20 months ago.
Jamfile.2 (513 bytes) - added by Alexco 20 months ago.
jamfile for ATA folder
0001-suppoprt-for-Highpoint-HPT36x-37x-PCI-ATA-controller.patch (17.5 KB) - added by Alexco 20 months ago.
git diff

Download all attachments as: .zip

Change History (16)

Changed 20 months ago by Alexco

Attachment: highpoint_ata.h added

comment:1 Changed 20 months ago by Alexco

Has a Patch: set

Changed 20 months ago by Alexco

Attachment: highpoint_ide_pci.cpp added

Changed 20 months ago by Alexco

Attachment: Jamfile added

Changed 20 months ago by Alexco

Attachment: Jamfile.2 added

jamfile for ATA folder

comment:2 Changed 20 months ago by Alexco

just create a folder 'highpoint_ide_pci' in add-ons/kernel/busses/ata Copy highpoint* files and first Jamfile in new folder copy Jamfile.2 as Jamfile in ata folder (replace existing)

Don't forget to include highpoint_ide_pci in build setup, so that the driver is added to the images.

comment:3 Changed 20 months ago by waddlesplash

Can you submit a Git patch instead? You can do that by committing your changes/additions, then running git format-patch -1 to get an exported patch file.

comment:4 Changed 20 months ago by Alexco

done.

comment:5 Changed 20 months ago by waddlesplash

It looks like the name/email in there is bogus ... is that what you wanted? Or did you forget to git config --global user.name/user.email?

comment:6 Changed 20 months ago by Alexco

Hmm. Strange. I thought I did that?! I replaced the file, please check again.

comment:7 Changed 20 months ago by diver

Please remove extra space from this line:

highpoint_ide_pci  ide_isa@x86

comment:8 Changed 20 months ago by diver

Component: - GeneralDrivers/Disk

comment:9 Changed 20 months ago by waddlesplash

Resolution: fixed
Status: newclosed

Applied (with some coding style fixes) in hrev51646. Thanks!

comment:10 Changed 20 months ago by pulkomandy

Why does this need to be a separate driver and can't be part of the generic IDE one? Also, waddlesplash, you let some styleguide violations get through (80 columns limit, at least).

comment:11 Changed 20 months ago by Alexco

I don't know what the design goal/philosophy was behind the ATA stack or the generic driver, but there are also different separate drivers for other controllers as well. And putting some PCI device specific code into something what calls itself "generic" somehow defeats it's purpose, doesn't it? Also if you look at #13620 you see that the generic driver does not behave very well if it needs to attach to 2 different PCI devices, so I created it as separate driver.

Note: See TracTickets for help on using tickets.