Opened 23 months ago

Closed 23 months ago

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

Download all attachments as: .zip

Change History (16)

by Alexco, 23 months ago

Attachment: highpoint_ata.h added

comment:1 by Alexco, 23 months ago

Has a Patch: set

by Alexco, 23 months ago

Attachment: highpoint_ide_pci.cpp added

by Alexco, 23 months ago

Attachment: Jamfile added

by Alexco, 23 months ago

Attachment: Jamfile.2 added

jamfile for ATA folder

comment:2 by Alexco, 23 months 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, 23 months 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, 23 months ago

done.

comment:5 by waddlesplash, 23 months 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, 23 months ago

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

comment:7 by diver, 23 months ago

Please remove extra space from this line:

highpoint_ide_pci  ide_isa@x86

comment:8 by diver, 23 months ago

Component: - GeneralDrivers/Disk

comment:9 by waddlesplash, 23 months ago

Resolution: fixed
Status: newclosed

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

comment:10 by pulkomandy, 23 months 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, 23 months 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.