History log of /freebsd-current/sys/powerpc/powermac/ata_kauai.c
Revision Date Author Comments
# 685dc743 16-Aug-2023 Warner Losh <imp@FreeBSD.org>

sys: Remove $FreeBSD$: one-line .c pattern

Remove /^[\s*]*__FBSDID\("\$FreeBSD\$"\);?\s*\n/


# d5a7306c 06-May-2022 John Baldwin <jhb@FreeBSD.org>

ata: Remove ata_devclass from DRIVER_MODULE invocations.

Keep the global variable for its uses in ata-pci.c and
chipsets/ata-fsl.c but initialize it in the existing
ata_module_event_handler. Move the module event handler a bit earlier
to ensure the variable is set before any devices are attached.


# d5472cd4 18-Apr-2022 John Baldwin <jhb@FreeBSD.org>

ata_kauai: Fix support for "shasta" controllers.

The probe routine was setting a value in the softc, but since the
probe routine was not returning zero, this value was lost since the
softc was reallocated (and re-zeroed) when the device was attached.
This is similar in nature to the fixes from
965205eb66cae3fd5de75a70a3aef2f014f98020.

To fix, move the code to set the 'shasta' flag to the start of attach
along with related code to set an IRQ resource on some non-shasta
devices. The IRQ resource still "worked" being in the probe routine
as the IRQ resource persisted after probe returned, but it is cleaner
to go ahead and move it to attach after setting the 'shasta' flag.

I have no way to test this, but noticed this while reading the code.

Reviewed by: jhibbits
Differential Revision: https://reviews.freebsd.org/D34888


# 019493db 12-Apr-2022 John Baldwin <jhb@FreeBSD.org>

ata_kauai: Remove unused variable.


# 71e3c308 27-Nov-2017 Pedro F. Giffuni <pfg@FreeBSD.org>

sys/powerpc: further adoption of SPDX licensing ID tags.

Mainly focus on files that use BSD 2-Clause license, however the tool I
was using misidentified many licenses so this was mostly a manual - error
prone - task.

The Software Package Data Exchange (SPDX) group provides a specification
to make it easier for automated tools to detect and summarize well known
opensource licenses. We are gradually adopting the specification, noting
that the tags are considered only advisory and do not, in any way,
superceed or replace the license texts.


# 965205eb 15-Oct-2013 Andreas Tobler <andreast@FreeBSD.org>

Move the resource allocation from the ata_*_probe section to the ata_*_attach
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


# d2ce15bd 06-Apr-2013 Marius Strobl <marius@FreeBSD.org>

- With the demise of !ATA_CAM, ATA_STATIC_ID is the only ata(4) related
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.


# a0a3479c 23-Jan-2011 Nathan Whitehorn <nwhitehorn@FreeBSD.org>

Disable ATAPI DMA unconditionally on Apple Kauai ATA controllers, like it
is on the MacIO ones. It appears to be unreliable on all DBDMA-based
controllers for unknown reasons, which should be figured out eventually.

Tested by: Torfinn Ingolfsen
MFC after: 1 week


# a7d5f7eb 19-Oct-2010 Jamie Gritton <jamie@FreeBSD.org>

A new jail(8) with a configuration file, to replace the work currently done
by /etc/rc.d/jail.


# 1a18ae70 11-Sep-2010 Nathan Whitehorn <nwhitehorn@FreeBSD.org>

ATAPI DMA does not seem to work completely reliably on Shasta controllers,
especially in conjunction with ATA_CAM, so disable it for now.


# 4b865d9a 08-Jun-2010 Nathan Whitehorn <nwhitehorn@FreeBSD.org>

MFC r208168:
It is not necessary (and in some cases harmful) to hardcode ata_kauai's
IRQ to 39 on K2 devices, as well as Shasta ones.

Reported by: Andreas Tobler
Approved by: re (kib)


# 97af4af5 16-May-2010 Nathan Whitehorn <nwhitehorn@FreeBSD.org>

It is not necessary (and in some cases harmful) to hardcode ata_kauai's
IRQ to 39 on K2 devices, as well as Shasta ones.

Reported by: Andreas Tobler


# 71e7360e 12-Dec-2009 Alexander Motin <mav@FreeBSD.org>

MFC r200171, r200182, r200275, r200295, r200359:
Introduce ATA_CAM kernel option, turning ata(4) controller drivers into
cam(4) interface modules. When enabled, this option 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.(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)


# 066f913a 05-Dec-2009 Alexander Motin <mav@FreeBSD.org>

MFp4:
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)


# e8657200 26-Oct-2008 Nathan Whitehorn <nwhitehorn@FreeBSD.org>

Bring Kauai ATA driver in line with Macio ATA by reading the PIO config reg
to set the initial PIO mode instead of assuming PIO4. There are still a few
nagging issues:

- There are some problems with 64 K DMA transfers waiting on lower level
changes.

- ATAPI DMA is broken on Marcel's Mac Mini because we need an ATA SELECT hook
propagated up to individual drivers for hardware without timing registers for
each ATA channel.


# d7f03759 19-Oct-2008 Ulf Lilleengen <lulf@FreeBSD.org>

- Import the HEAD csup code which is the basis for the cvsmode work.


# 51d163d3 14-Oct-2008 Nathan Whitehorn <nwhitehorn@FreeBSD.org>

Convert PowerPC AIM PCI and nexus busses to standard OFW bus interface. This
simplifies certain device attachments (Kauai ATA, for instance), and makes
possible others on new hardware.

On G5 systems, there are several otherwise standard PCI devices
(Serverworks SATA) that will not allow their interrupt properties to be
written, so this information must be supplied directly from Open Firmware.

Obtained from: sparc64


# b7382e09 27-Sep-2008 Nathan Whitehorn <nwhitehorn@FreeBSD.org>

Add DMA support for Apple built-in ATA controllers.

Tested by: grehan, marcotrillo@gmail.com
MFC after: 1 month


# a4fcb5ec 25-Jan-2008 Julian Elischer <julian@FreeBSD.org>

One of my powerbooks has this chip in it..
Confirmed by looking at netbsd.. they have also added this.
checked by grehen
MFC After: 3 days


# edaccfc8 13-May-2005 Peter Grehan <grehan@FreeBSD.org>

Remove incorrect configuration setting that limited the Kauai ATA controller
to be master-only. The slave ATAPI drive on the Mac-Mini is now recognised.


# 6ac8f17e 01-May-2005 Peter Grehan <grehan@FreeBSD.org>

Catch up with latest ATA newbus commits.


# a378bbab 19-Apr-2005 Peter Grehan <grehan@FreeBSD.org>

Get order right when initializing task file bus resources. ATA drives are
now recognised when booting from the drive, as opposed to net-booting which
the previous botched commit was tested with.


# 5a276744 17-Apr-2005 Peter Grehan <grehan@FreeBSD.org>

Catch up with ATA mkIII definitions for registers that have different
functions for read vs. write.


# 98cbfce5 31-Mar-2005 Peter Grehan <grehan@FreeBSD.org>

Introduce channel-level setmode newbus method.

Thanks to sos for the code re-org that allowed this.


# 05a016a3 30-Mar-2005 Peter Grehan <grehan@FreeBSD.org>

Catch up with ATA-mkIII


# 60727d8b 06-Jan-2005 Warner Losh <imp@FreeBSD.org>

/* -> /*- for license, minor formatting changes


# 899fe909 02-Nov-2004 Suleiman Souhlal <ssouhlal@FreeBSD.org>

Stay up to date with the latest ATA developments, where
ata_channel.locking now returns an int.

Approved by: grehan (mentor)


# 39513fa6 16-Aug-2004 Marius Strobl <marius@FreeBSD.org>

Instead of "OpenFirmware", "openfirmware", etc. use the official spelling
"Open Firmware" from IEEE 1275 and OpenFirmware.org (no pun intended).

Ok'ed by: tmm


# 50069af1 23-Apr-2004 Peter Grehan <grehan@FreeBSD.org>

- Catch up with recent ATA changes.
- Remove trailing space in ata_macio.c


# 2e428c54 31-Mar-2004 Peter Grehan <grehan@FreeBSD.org>

The end argument to bus_alloc_resource() should have been ~0 and
not ~1, but the call has been switched over to bus_alloc_resource_any()
which has the same effect.

Submitted by: Suleiman Souhlal <refugee@segfaulted.com>


# 80bd99be 28-Feb-2004 Peter Grehan <grehan@FreeBSD.org>

Bring to working PIO state.
- use correct rid when allocating PCI mem resource
- ATA taskfile registers are indeed spaced 0x10 apart just like
the Macio ATA cell. Adjust offsets in ATA channel struct.

Tested by: Suleiman Souhlal <ssouhlal@vt.edu>


# 321fd460 12-Feb-2004 Peter Grehan <grehan@FreeBSD.org>

Work-in-progress for the 'Kauai' ATA device in Mac notebooks. The
device seems to be the macio ATA cell with a PCI front-end, and
has no relation to PIIX-style ATA/PCI devices.