- Feb 27, 2010
-
-
Manuel Lauss authored
DMA can only be done from physical addresses; move the "virt_to_phys" source/destination buffer address translation from the dbdma queueing functions (since the hardware can only DMA to/from physical addresses) to their respective users. Signed-off-by:
Manuel Lauss <manuel.lauss@gmail.com> Signed-off-by:
Ralf Baechle <ralf@linux-mips.org>
-
Manuel Lauss authored
Remove dbdma compat macros, move remaining users over to default queueing functions and -flags. (Queueing function signature has changed in order to give a build failure instead of silent functional changes due to the no longer implicitly specified DDMA_FLAGS_IE flag) Signed-off-by:
Manuel Lauss <manuel.lauss@gmail.com> Signed-off-by:
Ralf Baechle <ralf@linux-mips.org>
-
- Dec 08, 2009
-
-
Benjamin Herrenschmidt authored
The hotplug mediabay has tendrils deep into drivers/ide code which makes a libata port reather difficult. In addition it's ugly and could be done better. This reworks the interface between the mediabay and the rest of the world so that: - Any macio_driver can now have a mediabay_event callback which will be called when that driver sits on a mediabay and it's been either plugged or unplugged. The device type is passed as an argument. We can now move all the IDE cruft into the IDE driver itself - A check_media_bay() function can be used to take a peek at the type of device currently in the bay if any, a cleaner variant of the previous function with the same name. - A pair of lock/unlock functions are exposed to allow the IDE driver to block the hotplug callbacks during the initial setup and probing of the bay in order to avoid nasty race conditions. - The mediabay code no longer needs to spin on the status register of the IDE interface when it detects an IDE device, this is done just fine by the IDE code itself Overall, less code, simpler, and allows for another driver than our old drivers/ide based one. Signed-off-by:
Benjamin Herrenschmidt <benh@kernel.crashing.org>
-
- Dec 03, 2009
-
-
Alan Cox authored
We were never able to get docs for this out of Toshiba for years. Dave Barnes produced a NetBSD driver however and from that we can fill in the needed tables. As we correct the PCI identifiers a bit also update the old ide generic driver at the same time so it stays compiling. Signed-off-by:
Alan Cox <alan@linux.intel.com> Signed-off-by:
Jeff Garzik <jgarzik@redhat.com>
-
Bartlomiej Zolnierkiewicz authored
Signed-off-by:
Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
-
Bartlomiej Zolnierkiewicz authored
Signed-off-by:
Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
-
Bartlomiej Zolnierkiewicz authored
Signed-off-by:
Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
-
Bartlomiej Zolnierkiewicz authored
Signed-off-by:
Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
-
Bartlomiej Zolnierkiewicz authored
Signed-off-by:
Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
-
Bartlomiej Zolnierkiewicz authored
Signed-off-by:
Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
-
- Dec 02, 2009
-
-
Bartlomiej Zolnierkiewicz authored
Based on commit 02cb009b for pata_cs5530. Signed-off-by:
Bartlomiej Zolnierkiewicz <bzolnier@gmail.com> Signed-off-by:
David S. Miller <davem@davemloft.net>
-
- Dec 01, 2009
-
-
Bartlomiej Zolnierkiewicz authored
Fix checking of the currently programmed UDMA mode. Signed-off-by:
Bartlomiej Zolnierkiewicz <bzolnier@gmail.com> Acked-by:
Sergei Shtylyov <sshtylyov@ru.mvista.com> Signed-off-by:
David S. Miller <davem@davemloft.net>
-
- Nov 28, 2009
-
-
Dominik Brodowski authored
Most of the irq_req_t typedef'd struct can be re-worked quite easily: (1) IRQInfo2 was unused in any case, so drop it. (2) IRQInfo1 was used write-only, so drop it. (3) Instance (private data to be passed to the IRQ handler): Most PCMCIA drivers using pcmcia_request_irq() to actually register an IRQ handler set the "dev_id" to the same pointer as the "priv" pointer in struct pcmcia_device. Modify the two exceptions (ipwireless, ibmtr_cs) to also work this waym and set the IRQ handler's "dev_id" to p_dev->priv unconditionally. (4) Handler is to be of type irq_handler_t. (5) Handler != NULL already tells whether an IRQ handler is present. Therefore, we do not need the IRQ_HANDLER_PRESENT flag in irq_req_t.Attributes. CC: netdev@vger.kernel.org CC: linux-bluetooth@vger.kernel.org CC: linux-ide@vger.kernel.org CC: linux-wireless@vger.kernel.org CC: linux-scsi@vger.kernel.org CC: alsa-devel@alsa-project.org CC: Jaroslav Kysela <perex@perex.cz> CC: Jiri Kosina <jkosina@suse.cz> CC: Karsten Keil <isdn@linux-pingi.de> for the Bluetooth parts: Acked-by: Marcel Holtmann <marcel@holtmann.org> Signed-off-by:
Dominik Brodowski <linux@dominikbrodowski.net>
-
- Nov 25, 2009
-
-
Hemant Pedanekar authored
Currently, ide_cmd_ioctl when invoked for setting DMA transfer mode calls ide_find_dma_mode with requested mode as XFER_UDMA_6. This prevents setting DMA mode to any other value than the default (maximum) supported by the device (or UDMA6, if supported) irrespective of the actual requested transfer mode and returns error. For example, setting mode to UDMA2 using hdparm, where UDMA4 is the default transfer mode gives following error: # ./hdparm -d1 -Xudma2 /dev/hda /dev/hda:hda: UDMA/66 mode selected setting using_dma to 1 (on) hda: UDMA/66 mode selected setting xfermode to 66 (UltraDMA mode2) HDIO_DRIVE_CMD(setxfermode) failed: Invalid argument using_dma = 1 (on) This patch fixes the issue. Signed-off-by:
Hemant Pedanekar <hemantp@ti.com> Acked-by:
Bartlomiej Zolnierkiewicz <bzolnier@gmail.com> Acked-by:
Sergei Shtylyov <sshtylyov@ru.mvista.com> Signed-off-by:
David S. Miller <davem@davemloft.net>
-
- Nov 23, 2009
-
-
H Hartley Sweeten authored
Use resource_size() for devm_request_mem_region. Signed-off-by:
H Hartley Sweeten <hsweeten@visionengravers.com> Signed-off-by:
David S. Miller <davem@davemloft.net>
-
H Hartley Sweeten authored
Use resource_size() for devm_{ioremap/io_port_map}. Signed-off-by:
H Hartley Sweeten <hsweeten@visionengravers.com> Signed-off-by:
David S. Miller <davem@davemloft.net>
-
H Hartley Sweeten authored
Use resource_size() for {request/release}_mem_region and ioremap. Signed-off-by:
H Hartley Sweeten <hsweeten@visionengravers.com> Signed-off-by:
David S. Miller <davem@davemloft.net>
-
- Nov 18, 2009
-
-
Bartlomiej Zolnierkiewicz authored
It has been enough time since introduction of the new timing tables (commit 809b53c4 from Dec 12 2007) and the old timing tables are still available in pata_hpt37x.c (or git history) if somebody needs them. Signed-off-by:
Bartlomiej Zolnierkiewicz <bzolnier@gmail.com> Signed-off-by:
David S. Miller <davem@davemloft.net>
-
- Nov 08, 2009
-
-
Dominik Brodowski authored
ide-cs.c is the only PCMCIA device driver making use of CONFIG_PCMCIA_DEBUG, so convert it to use the dynamic debug infrastructure. Also, remove all usages of the CS_CHECK macro and replace them with proper Linux style calling and return value checking. The extra error reporting may be dropped, as the PCMCIA core already complains about any (non-driver-author) errors. CC: linux-ide@vger.kernel.org Signed-off-by:
Dominik Brodowski <linux@dominikbrodowski.net>
-
- Nov 06, 2009
-
-
David S. Miller authored
This reverts commit 60293364. Ok, we really do need to revert this, even with Bart's sis5513.c fix in there. The problem is that several driver's ->set_pio_mode() method depends upon the drive->media type being set properly. Most of them use this to enable prefetching, which can only be done for disk media. But the commit being reverted here calls ->set_pio_mode() before it's setup. Actually it considers everything disk because that is the default media type set by ide_port_init_devices_data(). The set of drivers that depend upon the media type in their ->set_pio_method() are: drivers/ide/alim15x3.c drivers/ide/it8172.c drivers/ide/it8213.c drivers/ide/pdc202xx_old.c drivers/ide/piix.c drivers/ide/qd65xx.c drivers/ide/sis5513.c drivers/ide/slc90e66.c And it is possible that we could fix this by guarding the prefetching and other media dependent setting changes with a test on IDE_PFLAG_PROBING in hwif->port_flags, that's simply too risky for 2.6.32-rcX and -stable. Signed-off-by:
David S. Miller <davem@davemloft.net>
-
- Oct 29, 2009
-
-
Robert Hancock authored
The current Kconfig text for CONFIG_IDE doesn't give a hint to users that this subsystem is currently in maintenance mode and isn't actively developed. Let's correct this by marking it as deprecated, and also get rid of a bunch of unnecessary text that doesn't really have anything to do with what the option is for. Signed-off-by:
Robert Hancock <hancockrwd@gmail.com> Signed-off-by:
David S. Miller <davem@davemloft.net>
-
Borislav Petkov authored
Replace the BKL calls in the chrdev_{open,release} interfaces with a simple sleeping mutex. Signed-off-by:
Borislav Petkov <petkovbb@gmail.com> Signed-off-by:
David S. Miller <davem@davemloft.net>
-
Sergei Shtylyov authored
These two have been long unused but I've just noticed... Signed-off-by:
Sergei Shtylyov <sshtylyov@ru.mvista.com> Signed-off-by:
David S. Miller <davem@davemloft.net>
-
Mikulas Patocka authored
CMD646 corrupts data on concurrent transfers on both channels when IDE SSD is connected to one of the channels. Setup that demonstrates this hardware bug: Ultra 5, onboard CMD646, rev 3. /dev/hda is 8GB Seagate ST38410A in MWDMA2 /dev/hdd is 32GB SSD SiliconHardDisk in MWDMA2 - When reading /dev/hdd (for example with dd or fsck), reads from /dev/hda are corrupted, there are twiddled single bits 1->0 and some full 32-bit words corrupted, sometimes commands fail (which switches /dev/hda to PIO mode but the corruptions happen even in PIO). - Reads from /dev/hdd don't seem to be corrupted (i.e. fsck passes fine). - When I connected normal rotating harddisk to /dev/hdd, there was no corruption, so the corruption is something specific to SSD. - I tried the same setup on a PCI card with CMD649 and saw no corruption. This patch serializes the operation for CMD646 and 643 (I didn't test CMD643 but it may have the same hw bug too because it's earlier design). CMD649 is good. I don't know anything about CMD 648. Signed-off-by:
Mikulas Patocka <mpatocka@redhat.com> Tested-by:
Frans Pop <elendil@planet.nl> Signed-off-by:
David S. Miller <davem@davemloft.net>
-
- Oct 16, 2009
-
-
Shane Huang authored
This patch renames the code name SB900 into Hudson-2 Signed-off-by:
Shane Huang <shane.huang@amd.com> Signed-off-by:
Jeff Garzik <jgarzik@redhat.com>
-
- Oct 07, 2009
-
-
Bartlomiej Zolnierkiewicz authored
This reverts commit 24df31ac. The root cause of reported system hangs was (now fixed) sis5513 bug and not "ide: try to use PIO Mode 0 during probe if possible" change (commit 60293364) so the revert was incorrect (it simply replaced one regression with the other one). Signed-off-by:
Bartlomiej Zolnierkiewicz <bzolnier@gmail.com> Signed-off-by:
David S. Miller <davem@davemloft.net>
-
Bartlomiej Zolnierkiewicz authored
Clear prefetch setting before potentially (re-)enabling it in config_drive_art_rwp() so the transition of the device type on the port from ATA to ATAPI (i.e. during warm-plug operation) is handled correctly. This is a really old bug (it probably goes back to very early days of the driver) but it was only affecting warm-plug operation until the recent "ide: try to use PIO Mode 0 during probe if possible" change (commit 60293364). Signed-off-by:
Bartlomiej Zolnierkiewicz <bzolnier@gmail.com> Tested-by:
David Fries <david@fries.net> Signed-off-by:
David S. Miller <davem@davemloft.net>
-
- Oct 04, 2009
-
-
David S. Miller authored
This reverts commit 60293364. Based upon a report by David Fries, wherein his system hangs on bootup with sis5513 controller, right after the CDROM is registered by ide-cd.c and the TOC is first read. Signed-off-by:
David S. Miller <davem@davemloft.net>
-
- Sep 22, 2009
-
-
Marcin Slusarz authored
Signed-off-by:
Marcin Slusarz <marcin.slusarz@gmail.com> Acked-by:
David S. Miller <davem@davemloft.net> Signed-off-by:
Andrew Morton <akpm@linux-foundation.org> Signed-off-by:
David S. Miller <davem@davemloft.net>
-
Alexey Dobriyan authored
Signed-off-by:
Alexey Dobriyan <adobriyan@gmail.com> Signed-off-by:
Andrew Morton <akpm@linux-foundation.org> Signed-off-by:
Linus Torvalds <torvalds@linux-foundation.org>
-
- Sep 21, 2009
-
-
Joe Perches authored
Signed-off-by:
Joe Perches <joe@perches.com> Signed-off-by:
Jiri Kosina <jkosina@suse.cz>
-
- Sep 15, 2009
-
-
Wu Zhangjin authored
This patch will fix the following problem on Yeeloong netbook with fujitsu disk. irq 14: nobody cared (try booting with the "irqpoll" option) Call Trace: [<ffffffff8020d438>] dump_stack+0x8/0x40 [<ffffffff8027ec64>] __report_bad_irq+0x58/0xe4 [<ffffffff8027ee6c>] note_interrupt+0x17c/0x23c [<ffffffff8027f9b8>] handle_level_irq+0xcc/0x134 [<ffffffff802125b0>] mach_irq_dispatch+0xb8/0x1e0 [<ffffffff8020041c>] ret_from_irq+0x0/0x4 [<ffffffff8029e678>] free_hot_cold_page+0x224/0x2a0 [<ffffffff8026f794>] swsusp_free+0xb0/0x14c [<ffffffff8026ec08>] hibernate+0x198/0x218 [<ffffffff8026cfa8>] state_store+0x90/0x138 [<ffffffff8032b5a4>] sysfs_write_file+0x130/0x194 [<ffffffff802c94fc>] vfs_write+0xb8/0x180 [<ffffffff802c96b8>] SyS_write+0x50/0x98 [<ffffffff80203fd8>] handle_sys+0x158/0x174 handlers: [<ffffffff80429670>] (ide_intr+0x0/0x300) Disabling IRQ #14 References: 1. commit 1fde02e7146d4a1bab80fd1506f9018fe71e8521 of git://dev.lemote.com/linux_loongson.git 2. 8bc1e5aa (ide: respect quirk_drives[] list on all controllers) Signed-off-by:
Yan Hua <yanh@lemote.com> Signed-off-by:
Wu Zhangjin <wuzhangjin@gmail.com> Signed-off-by:
David S. Miller <davem@davemloft.net>
-
- Sep 11, 2009
-
-
Shane Huang authored
Add AMD SB900 SATA/IDE controller device IDs. Signed-off-by:
Shane Huang <shane.huang@amd.com> Signed-off-by:
Jeff Garzik <jgarzik@redhat.com>
-
- Sep 01, 2009
-
-
Alexey Dobriyan authored
->read_proc, ->write_proc are going away, ->proc_fops should be used instead. The only tricky place is IDENTIFY handling: if for some reason taskfile_lib_get_identify() fails, buffer _is_ changed and at least first byte is overwritten. Emulate old behaviour with returning that first byte to userspace and reporting length=1 despite overall -E. Signed-off-by:
Alexey Dobriyan <adobriyan@gmail.com> Signed-off-by:
David S. Miller <davem@davemloft.net>
-
- Aug 27, 2009
-
-
Bob Moore authored
Completed a major update for the acpi_get_object_info external interface. Changes include: - Support for variable, unlimited length HID, UID, and CID strings - Support Processor objects the same as Devices (HID,UID,CID,ADR,STA, etc.) - Call the _SxW power methods on behalf of a device object - Determine if a device is a PCI root bridge - Change the ACPI_BUFFER parameter to ACPI_DEVICE_INFO. These changes will require an update to all callers of this interface. See the ACPICA Programmer Reference for details. Also, update all invocations of acpi_get_object_info interface Signed-off-by:
Bob Moore <robert.moore@intel.com> Signed-off-by:
Lin Ming <ming.m.lin@intel.com> Signed-off-by:
Len Brown <len.brown@intel.com>
-
- Aug 15, 2009
-
-
Sergey Matyukevich authored
This driver requires only static memory controller definitions and macroses contained in generic header at91sam9_smc.h. Those extra headers are misleading since this driver also works fine for at91sam9260 SoC: tests were performed on afeb9260 board. Signed-off-by:
Sergey Matyukevich <geomatsi@gmail.com> Acked-by:
Stanislaw Gruszka <stf_xl@wp.pl> Signed-off-by:
David S. Miller <davem@davemloft.net>
-
Kevin Hilman authored
DaVinci core code has converted to the new clkdev API so clock name strings are not needed. Instead, just the a 'struct device' pointer is needed. Signed-off-by:
Kevin Hilman <khilman@deeprootsystems.com> Acked-by:
Sergei Shtylyov <sshtylyov@ru.mvista.com> Signed-off-by:
David S. Miller <davem@davemloft.net>
-
- Aug 14, 2009
-
-
Wolfram Sang authored
Fixes this report: http://article.gmane.org/gmane.linux.kernel.pcmcia.devel/2228/ Reported-by:
John McGrath <john@john-mcgrath.com> Signed-off-by:
Wolfram Sang <w.sang@pengutronix.de> Signed-off-by:
David S. Miller <davem@davemloft.net>
-
- Aug 07, 2009
-
-
Bartlomiej Zolnierkiewicz authored
* Make cmd->tf_flags field 'u16' and add IDE_TFLAG_SET_XFER taskfile flag. * Update ide_finish_cmd() to set xfer / re-read id if the new flag is set. * Convert set_xfer_rate() (write handler for /proc/ide/hd?/current_speed) and ide_cmd_ioctl() (HDIO_DRIVE_CMD ioctl handler) to use the new flag. * Remove no longer needed disable_irq_nosync() + enable_irq() from ide_config_drive_speed(). Signed-off-by:
Bartlomiej Zolnierkiewicz <bzolnier@gmail.com> Signed-off-by:
David S. Miller <davem@davemloft.net>
-
Bartlomiej Zolnierkiewicz authored
* Un-static __ide_wait_stat(). * Allow ide_dev_read_id() helper to be called from the IRQ context by adding irq_ctx flag and using mdelay()/__ide_wait_stat() when needed. * Switch ide_driveid_update() to set irq_ctx flag. This change is needed for the consecutive patch which fixes races in handling of user-space SET XFER commands but for improved bisectability and clarity it is better to do it in a separate patch. Signed-off-by:
Bartlomiej Zolnierkiewicz <bzolnier@gmail.com> Signed-off-by:
David S. Miller <davem@davemloft.net>
-