All of lore.kernel.org
 help / color / mirror / Atom feed
From: Jeff Garzik <jeff@garzik.org>
To: Petr Vandrovec <petr@vandrovec.name>
Cc: linux-ide@vger.kernel.org
Subject: Re: [PATCH] Fix simplex adapters with libata
Date: Fri, 09 Mar 2007 07:39:08 -0500	[thread overview]
Message-ID: <45F1556C.3000505@garzik.org> (raw)
In-Reply-To: <20070308091211.GA7257@vana.vc.cvut.cz>

Petr Vandrovec wrote:
> Hello Jeff,
> 
> [please cc me, I'm not subscribed to linux-ide]
> 
> Recently I got my hands on nVidia's MCP61 PM-AM board, and
> it contains IDE chip configured by BIOS with only primary
> channel enabled.  This confuses code which probes for
> device DMA capabilities - it gets 0x60 (happy duplex
> device) from primary channel BMDMA, but 0xFF (nobody here)
> from secondary channel BMDMA.  Due to this code then believes
> that chip is simplex.  I do not address this problem in
> my patch, as I'm not sure how to handle this.  Probably
> ata_pci_init_one should have bitmap of enabled/possible
> interfaces instead of their count, but it looks like
> quite intrusive change, and maybe we do not care - for device
> with only one channel simplex and regular DMA engines are
> same.
> 
> But making device simplex pointed out that support for
> DMA on simplex devices is currently broken - ata_dev_xfermask
> tests whether device is simplex and if it is whether DMA
> engine was assigned to this port.  If not then it strips
> out DMA bits from device.  Problem is that code which assigns
> DMA engine to port in ata_set_mode first detect device
> mode and assigns DMA engine to channel only if some DMA
> capable device was found.
> 
> And as xfermask stripped out DMA bits, host->simplex_claimed
> is always NULL with current implementation.
> 
> By allowing DMA either if simplex_claimed is NULL or if it
> points to current port DMA can be finally used - it gets
> assigned to first port which contains any DMA capable
> device.
> 
> Patch is for current Linus git tree (post 2.6.21-rc3).
> 				Thanks,
> 					Petr Vandrovec
> 
> Before:
> pata_amd 0000:00:06.0: version 0.2.8
> PCI: Setting latency timer of device 0000:00:06.0 to 64
> ata5: PATA max UDMA/133 cmd 0x000101f0 ctl 0x000103f6 bmdma 0x0001f000 irq 14
> ata6: PATA max UDMA/133 cmd 0x00010170 ctl 0x00010376 bmdma 0x0001f008 irq 15
> scsi4 : pata_amd
> ata5.00: ATAPI, max UDMA/66
> ata5.00: simplex DMA is claimed by other device, disabling DMA
> ata5.00: configured for PIO4
> scsi5 : pata_amd
> ata6: port disabled. ignoring.
> ata6: reset failed, giving up
> scsi 4:0:0:0: CD-ROM            ATAPI    DVD W  DH16W1P   LG12 PQ: 0 ANSI: 5
> 
> After:
> pata_amd 0000:00:06.0: version 0.2.8
> PCI: Setting latency timer of device 0000:00:06.0 to 64
> ata5: PATA max UDMA/133 cmd 0x000101f0 ctl 0x000103f6 bmdma 0x0001f000 irq 14
> ata6: PATA max UDMA/133 cmd 0x00010170 ctl 0x00010376 bmdma 0x0001f008 irq 15
> scsi4 : pata_amd
> ata5.00: ATAPI, max UDMA/66
> ata5.00: configured for UDMA/33
> scsi5 : pata_amd
> ata6: port disabled. ignoring.
> ata6: reset failed, giving up
> scsi 4:0:0:0: CD-ROM            ATAPI    DVD W  DH16W1P   LG12 PQ: 0 ANSI: 5
> 
> Signed-off-by: Petr Vandrovec <petr@vandrovec.name>

applied to #upstream-fixes



      parent reply	other threads:[~2007-03-09 12:39 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-03-08  9:12 [PATCH] Fix simplex adapters with libata Petr Vandrovec
2007-03-08 13:02 ` Alan Cox
2007-03-08 14:49   ` Mark Lord
2007-03-08 15:05     ` Mark Lord
2007-03-09  1:47     ` vandrove
2007-03-09 12:39 ` Jeff Garzik [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=45F1556C.3000505@garzik.org \
    --to=jeff@garzik.org \
    --cc=linux-ide@vger.kernel.org \
    --cc=petr@vandrovec.name \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.