From: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
To: Sergei Shtylyov <sshtylyov@ru.mvista.com>
Cc: "Pedanekar, Hemant" <hemantp@ti.com>,
"linux-ide@vger.kernel.org" <linux-ide@vger.kernel.org>,
"davinci-linux-open-source@linux.davincidsp.com"
<davinci-linux-open-source@linux.davincidsp.com>
Subject: Re: Not able to set DMA mode other than default using hdparm
Date: Mon, 23 Nov 2009 19:10:03 +0100 [thread overview]
Message-ID: <200911231910.03383.bzolnier@gmail.com> (raw)
In-Reply-To: <4B0AC9FE.1070504@ru.mvista.com>
On Monday 23 November 2009 06:44:30 pm Sergei Shtylyov wrote:
> Pedanekar, Hemant wrote:
>
> > I am getting following error when trying to set DMA transfer mode as UDMA2 on latest DaVinci (DM6467) git kernel using hdparm (9.27 or older):
>
> > # ./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)
>
> > It seems DMA mode setting other than the default mode returns this error. That is, if I use "-Xudma4" in above command it returns success as UDMA4 is the default mode on DM6467.
>
> > I made following change which allows hdparm to set any supported DMA mode. Can anyone confirm if this is a hdparm compatibility (incorrect use of ioctl?) or the patch below indeed fixes the issue?
>
> > diff --git a/drivers/ide/ide-ioctls.c b/drivers/ide/ide-ioctls.c
> > index d3440b5..6e7ae2b 100644
> > --- a/drivers/ide/ide-ioctls.c
> > +++ b/drivers/ide/ide-ioctls.c
> > @@ -162,7 +162,7 @@ static int ide_cmd_ioctl(ide_drive_t *drive, unsigned long arg)
> > if (tf->command == ATA_CMD_SET_FEATURES &&
> > tf->feature == SETFEATURES_XFER &&
> > tf->nsect >= XFER_SW_DMA_0) {
> > - xfer_rate = ide_find_dma_mode(drive, XFER_UDMA_6);
> > + xfer_rate = ide_find_dma_mode(drive, tf->nsect);
> > if (xfer_rate != tf->nsect) {
> > err = -EINVAL;
> > goto abort;
> >
>
> Looks like the patch is correct, the following commit has introduced the
> mistake:
>
> http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commitdiff;h=a9c415090710a108edcd81b3392b90396f190a9a
Indeed, there is a thinko in the above commit and the patch corrects it.
> Could you resubmit your patch with proper description and sign-off?
You may also add:
Acked-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
while at it:
Thanks.
--
Bartlomiej Zolnierkiewicz
prev parent reply other threads:[~2009-11-23 18:10 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-11-23 16:58 Not able to set DMA mode other than default using hdparm Pedanekar, Hemant
2009-11-23 17:44 ` Sergei Shtylyov
2009-11-23 18:10 ` Bartlomiej Zolnierkiewicz [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=200911231910.03383.bzolnier@gmail.com \
--to=bzolnier@gmail.com \
--cc=davinci-linux-open-source@linux.davincidsp.com \
--cc=hemantp@ti.com \
--cc=linux-ide@vger.kernel.org \
--cc=sshtylyov@ru.mvista.com \
/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.