Opened 6 years ago

Closed 6 years ago

Last modified 6 years 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:
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 6 years ago.
highpoint_ide_pci.cpp (11.6 KB ) - added by Alexco 6 years ago.
Jamfile (162 bytes ) - added by Alexco 6 years ago.
Jamfile.2 (513 bytes ) - added by Alexco 6 years ago.
jamfile for ATA folder
0001-suppoprt-for-Highpoint-HPT36x-37x-PCI-ATA-controller.patch (17.5 KB ) - added by Alexco 6 years ago.
git diff

Download all attachments as: .zip

Change History (16)

by Alexco, 6 years ago

Attachment: highpoint_ata.h added

comment:1 by Alexco, 6 years ago

patch: 01

by Alexco, 6 years ago

Attachment: highpoint_ide_pci.cpp added

by Alexco, 6 years ago

Attachment: Jamfile added

by Alexco, 6 years ago

Attachment: Jamfile.2 added

jamfile for ATA folder

comment:2 by Alexco, 6 years ago

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 by waddlesplash, 6 years ago

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 by Alexco, 6 years ago

done.

comment:5 by waddlesplash, 6 years ago

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 by Alexco, 6 years ago

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

comment:7 by diver, 6 years ago

Please remove extra space from this line:

highpoint_ide_pci  ide_isa@x86

comment:8 by diver, 6 years ago

Component: - GeneralDrivers/Disk

comment:9 by waddlesplash, 6 years ago

Resolution: fixed
Status: newclosed

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

comment:10 by pulkomandy, 6 years ago

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 by Alexco, 6 years ago

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.