summaryrefslogtreecommitdiffstats
path: root/sys/powerpc/powermac/ata_macio.c
Commit message (Collapse)AuthorAgeFilesLines
* Add suspend/resume to DBDMA and ATA on PowerMacs.jhibbits2013-12-211-0/+35
| | | | | | This, and several subsequent commits, are suspend/resume for various PowerMac drivers, which will include a change to the global suspend/resume code eventually.
* Move the resource allocation from the ata_*_probe section to the ata_*_attachandreast2013-10-151-12/+16
| | | | | | | | | | | | | section. This prevents a boot crash on nearly all iMacs and PowerMacs/Books. The allocation in the probe section was working before because ata_probe was returning 0 which did not invoke a second DEVICE_PROBE. Now it returns a BUS_PROBE_DEFAULT which can invoke a second DEVICE_PROBE which results in a "failed to reserve resource" exit. PR: powerpc/182978 Discussed with: grehan@ MFC after: 1 Week
* - With the demise of !ATA_CAM, ATA_STATIC_ID is the only ata(4) relatedmarius2013-04-061-7/+6
| | | | | | | | | option left but actually consumed by ada(4), so move it to opt_ada.h and get rid of opt_ata.h. - Fix stand-alone build of atacore(4) by adding opt_cam.h. - Use __FBSDID. - Use DEVMETHOD_END. - Use NULL instead of 0 for pointers.
* MFp4:mav2009-12-061-25/+15
| | | | | | | | | | | | | | | | | | Introduce ATA_CAM kernel option, turning ata(4) controller drivers into cam(4) interface modules. When enabled, this options deprecates all ata(4) peripheral drivers (ad, acd, ...) and interfaces and allows cam(4) drivers (ada, cd, ...) and interfaces to be natively used instead. As side effect of this, ata(4) mode setting code was completely rewritten to make controller API more strict and permit above change. While doing this, SATA revision was separated from PATA mode. It allows DMA-incapable SATA devices to operate and makes hw.ata.atapi_dma tunable work again. Also allow ata(4) controller drivers (except some specific or broken ones) to handle larger data transfers. Previous constraint of 64K was artificial and is not really required by PCI ATA BM specification or hardware. Submitted by: nwitehorn (powerpc part)
* Disable ATA DMA for ATAPI devices for now. Apparently, certain revisionsnwhitehorn2009-03-251-0/+4
| | | | | of this controller, in combination with certain ATAPI devices and phases of the moon, will cause DMA operations for ATAPI to fail.
* Provide a device description for macio-attached ATA cells.nwhitehorn2009-01-191-0/+2
|
* Add DMA support for Apple built-in ATA controllers.nwhitehorn2008-09-271-11/+214
| | | | | Tested by: grehan, marcotrillo@gmail.com MFC after: 1 month
* Catch up with latest ATA newbus commits.grehan2005-05-011-2/+2
|
* Get order right when initializing task file bus resources. ATA drives aregrehan2005-04-201-2/+2
| | | | | now recognised when booting from the drive, as opposed to net-booting which the previous botched commit was tested with.
* Catch up with ATA mkIII definitions for registers that have differentgrehan2005-04-181-1/+2
| | | | functions for read vs. write.
* Introduce channel-level setmode newbus method.grehan2005-04-011-0/+13
| | | | Thanks to sos for the code re-org that allowed this.
* Catch up with ATA-mkIIIgrehan2005-03-311-19/+1
|
* /* -> /*- for license, minor formatting changesimp2005-01-071-1/+1
|
* Return correct value in the lock routine.grehan2005-01-071-2/+2
|
* Stay up to date with the latest ATA developments, wheressouhlal2004-11-021-1/+2
| | | | | | ata_channel.locking now returns an int. Approved by: grehan (mentor)
* - Introduce an ofw_bus kobj-interface for retrieving the OFW node and amarius2004-08-121-3/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | subset ("compatible", "device_type", "model" and "name") of the standard properties in drivers for devices on Open Firmware supported busses. The standard properties "reg", "interrupts" und "address" are not covered by this interface because they are only of interest in the respective bridge code. There's a remaining standard property "status" which is unclear how to support properly but which also isn't used in FreeBSD at present. This ofw_bus kobj-interface allows to replace the various (ebus_get_node(), ofw_pci_get_node(), etc.) and partially inconsistent (central_get_type() vs. sbus_get_device_type(), etc.) existing IVAR ones with a common one. This in turn allows to simplify and remove code-duplication in drivers for devices that can hang off of more than one OFW supported bus. - Convert the sparc64 Central, EBus, FHC, PCI and SBus bus drivers and the drivers for their children to use the ofw_bus kobj-interface. The IVAR- interfaces of the Central, EBus and FHC are entirely replaced by this. The PCI bus driver used its own kobj-interface and now also uses the ofw_bus one. The IVARs special to the SBus, e.g. for retrieving the burst size, remain. Beware: this causes an ABI-breakage for modules of drivers which used the IVAR-interfaces, i.e. esp(4), hme(4), isp(4) and uart(4), which need to be recompiled. The style-inconsistencies introduced in some of the bus drivers will be fixed by tmm@ in a generic clean-up of the respective drivers later (he requested to add the changes in the "new" style). - Convert the powerpc MacIO bus driver and the drivers for its children to use the ofw_bus kobj-interface. This invloves removing the IVARs related to the "reg" property which were unused and a leftover from the NetBSD origini of the code. There's no ABI-breakage caused by this because none of these driver are currently built as modules. There are other powerpc bus drivers which can be converted to the ofw_bus kobj-interface, e.g. the PCI bus driver, which should be done together with converting powerpc to use the OFW PCI code from sparc64. - Make the SBus and FHC front-end of zs(4) and the sparc64 eeprom(4) take advantage of the ofw_bus kobj-interface and simplify them a bit. Reviewed by: grehan, tmm Approved by: re (scottl) Discussed with: tmm Tested with: Sun AX1105, AXe, Ultra 2, Ultra 60; PPC cross-build on i386
* - Catch up with recent ATA changes.grehan2004-04-231-6/+7
| | | | - Remove trailing space in ata_macio.c
* Catch up with ATA UMA changesgrehan2004-01-151-0/+1
|
* Catch up with ATA changes by including <sys/sema.h>grehan2004-01-131-0/+1
|
* imac revA-D and beige G3 OpenFirmware uses the "ide" string forgrehan2003-12-101-1/+2
| | | | ATA drives.
* ATAng requires <sys/taskqueue.h>grehan2003-09-221-0/+1
|
* Vastly simplify the macio ATA attachment, now that the register filegrehan2003-04-181-225/+42
| | | | indirection is handled in the ATA common code.
* Catch up with ATAng changesgrehan2003-02-241-10/+14
|
* Rework of how memory resources are discovered and dealt with in macio.benno2003-01-301-23/+84
| | | | | | | | | - Store the OpenFirmware "reg" property in the macio ivars. - Use a struct to define the structure of a "reg" property entry. - Discover all memory ranges, not just the first. - In ata_macio, manage our own range and hand out our own allocations using bus_space_subregion. - Fix bus_space_subregion to handle subregions of sparse maps.
* - remove unneeded includesgrehan2003-01-091-5/+17
| | | | | - fix big in use of rid for SYS_RES_IRQ - catch up with ATA common code by adding lock function
* Driver for the macio south bridge, and ATA cell contained within.grehan2002-09-191-0/+241
Approved by: benno
OpenPOWER on IntegriCloud