From: Tejun Heo <htejun@gmail.com>
To: Alan Cox <alan@lxorguk.ukuu.org.uk>
Cc: jeff@garzik.org, linux-ide@vger.kernel.org
Subject: Re: [PATCH 04/12] libata: kill ata_id_to_dma_mode()
Date: Tue, 27 Nov 2007 22:52:17 +0900 [thread overview]
Message-ID: <474C2111.7080809@gmail.com> (raw)
In-Reply-To: <20071127113035.46806f39@the-village.bc.nu>
Alan Cox wrote:
> On Tue, 27 Nov 2007 19:43:41 +0900
> Tejun Heo <htejun@gmail.com> wrote:
>
>> ata_id_to_dma_mode() isn't quite generic. The function is basically
>> privately implemented ata_id_xfermask() combined with hardcoded mode
>> printing and configuration which are specific to ata_generic.
>>
>> Kill the function and open code it in generic_set_mode() using generic
>> xfermode handling functions.
>
> That one I still think is a bad idea. This sort of internal knowledge
> belongs in library routines. It is a pretty generic function for the case
> where the device is using existing modes and wants to display them.
The thing that bothers me is that the code assumes SWDMA and reports
"DMA" and sets xfer_mask for MWDMA0. This is specific to ata_generic
and with that part removed, what can be factored out is...
ata_dev_printk(dev, KERN_INFO, "configured for %s\n",
ata_mode_string(xfer_mask));
dev->xfer_mode = ata_xfer_mask2mode(xfer_mask);
dev->xfer_shift = ata_xfer_mode2shift(dev->xfer_mode);
Unfortunately, ata_generic won't be able to use such generic helper
because it uses unspecified DMA and PIO modes which generic helper
wouldn't support.
Unless we are gonna have other drivers which would blindly trust device
setting regarding PIO/DMA modes, I don't think ata_id_to_dma_mode()
would be useful, and if we are going to have more such drivers, we at
least need to rename ata_id_to_dma_mode() to note that the function
blindly trusts device reported configuration.
Thanks.
--
tejun
next prev parent reply other threads:[~2007-11-27 13:52 UTC|newest]
Thread overview: 24+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-11-27 10:43 [PATCHSET] libata: improve timing code and fix pata_amd transfer mode selection, take #2 Tejun Heo
2007-11-27 10:43 ` [PATCH 01/12] ata_generic: unindent loop in generic_set_mode() Tejun Heo
2007-12-01 23:19 ` Jeff Garzik
2007-11-27 10:43 ` [PATCH 02/12] libata: export xfermode / PATA timing related functions Tejun Heo
2007-11-27 10:43 ` [PATCH 03/12] libata: clean up xfermode / PATA timing related stuff Tejun Heo
2007-11-27 10:43 ` [PATCH 04/12] libata: kill ata_id_to_dma_mode() Tejun Heo
2007-11-27 11:30 ` Alan Cox
2007-11-27 13:52 ` Tejun Heo [this message]
2007-12-01 23:22 ` Jeff Garzik
2007-11-27 10:43 ` [PATCH 05/12] libata: xfer_mask is unsigned long not unsigned int Tejun Heo
2007-11-27 10:43 ` [PATCH 06/12] libata: separate out ata_acpi_gtm_xfermask() from pacpi_discover_modes() Tejun Heo
2007-11-27 10:43 ` [PATCH 07/12] libata: fix ata_acpi_gtm_xfermask() Tejun Heo
2007-11-27 10:43 ` [PATCH 08/12] libata: implement ata_timing_cycle2mode() and use it in libata-acpi and pata_acpi Tejun Heo
2007-11-27 10:43 ` [PATCH 09/12] libata: implement ata_acpi_init_gtm() Tejun Heo
2007-11-27 10:43 ` [PATCH 10/12] libata: reimplement ata_acpi_cbl_80wire() using ata_acpi_gtm_xfermask() Tejun Heo
2007-11-27 10:43 ` [PATCH 11/12] libata: add ATA_CBL_PATA_IGN Tejun Heo
2007-11-27 10:43 ` [PATCH 12/12] pata_amd: update mode selection for NV PATAs Tejun Heo
2007-11-27 11:23 ` Alan Cox
2007-12-01 23:22 ` Jeff Garzik
2007-12-02 14:15 ` Alan Cox
-- strict thread matches above, loose matches on Subject: below --
2007-11-06 5:38 [PATCHSET] libata: update timing and fix pata_amd transfer mode selection Tejun Heo
2007-11-06 5:39 ` [PATCH 04/12] libata: kill ata_id_to_dma_mode() Tejun Heo
2007-11-06 10:49 ` Alan Cox
2007-11-06 11:21 ` Tejun Heo
2007-11-24 1:13 ` Jeff Garzik
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=474C2111.7080809@gmail.com \
--to=htejun@gmail.com \
--cc=alan@lxorguk.ukuu.org.uk \
--cc=jeff@garzik.org \
--cc=linux-ide@vger.kernel.org \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).