From: Sergei Shtylyov <sshtylyov@ru.mvista.com>
To: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
Cc: linux-ide@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: Re: [PATCH 09/18] ide: add ->set_irq method
Date: Thu, 16 Oct 2008 01:22:50 +0400 [thread overview]
Message-ID: <48F65F2A.9020007@ru.mvista.com> (raw)
In-Reply-To: <200810152022.44708.bzolnier@gmail.com>
Hello.
Bartlomiej Zolnierkiewicz wrote:
>>> Add ->set_irq method for setting nIEN bit of ATA Device Control
>>> register and use it instead of ide_set_irq().
>>>
>>> While at it:
>>>
>>> * Use ->set_irq in init_irq() and do_reset1().
>>>
>>> * Don't use HWIF() macro in ide_check_pm_state().
>>>
>>> There should be no functional changes caused by this patch.
>>>
>>> Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
>>>
>>>
>> [...]
>>
>>> Index: b/drivers/ide/ide-iops.c
>>> ===================================================================
>>> --- a/drivers/ide/ide-iops.c
>>> +++ b/drivers/ide/ide-iops.c
>>> @@ -135,6 +135,23 @@ static u8 ide_read_sff_dma_status(ide_hw
>>> return inb(hwif->dma_base + ATA_DMA_STATUS);
>>> }
>>>
>>> +static void ide_set_irq(ide_hwif_t *hwif, int on)
>>> +{
>>> + u8 ctl = ATA_DEVCTL_OBS;
>>> +
>>> + if (on == 4) { /* hack for SRST */
>>> + ctl |= 4;
>>> + on &= ~4;
>>> + }
>>> +
>>> + ctl |= on ? 0 : 2;
>>> +
>>> + if (hwif->host_flags & IDE_HFLAG_MMIO)
>>> + writeb(ctl, (void __iomem *)hwif->io_ports.ctl_addr);
>>> + else
>>> + outb(ctl, hwif->io_ports.ctl_addr);
>>> +}
>>> +
>>> static void ide_tf_load(ide_drive_t *drive, ide_task_t *task)
>>> {
>>> ide_hwif_t *hwif = drive->hwif;
>>>
>>>
>> [...]
>>
>>> @@ -1162,16 +1180,15 @@ static ide_startstop_t do_reset1 (ide_dr
>>> * immediate interrupt due to the edge transition it produces.
>>> * This single interrupt gives us a "fast poll" for drives that
>>> * recover from reset very quickly, saving us the first 50ms wait time.
>>> + *
>>> + * TODO: add ->softreset method and stop abusing ->set_irq
>>> */
>>> /* set SRST and nIEN */
>>> - hwif->OUTBSYNC(hwif, ATA_DEVCTL_OBS | 6, io_ports->ctl_addr);
>>> + hwif->set_irq(hwif, 4);
>>> /* more than enough time */
>>> udelay(10);
>>>
>> It seems to me that the whole idea of having 2 separate methods for
>> writing the single device control register is a wrong idea.
>> I'm suggesting to convert set_irq() method to write_devctrl() method and
>> pass the register value directly to it.
>>
Perhaps with the method itself forcing the obsolete bit 3 set like
it's done now...
> Makes sense. Care to make a patch?
>
I would if I had the time. Can only make another notch for now...
MBR, Sergei
next prev parent reply other threads:[~2008-10-15 21:22 UTC|newest]
Thread overview: 51+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-06-20 21:33 [PATCH 01/18] ide: add ->read_sff_dma_status method Bartlomiej Zolnierkiewicz
2008-06-20 21:33 ` [PATCH 02/18] ide: use I/O ops directly in ide-dma.c Bartlomiej Zolnierkiewicz
2008-09-08 15:49 ` Sergei Shtylyov
2008-06-20 21:33 ` [PATCH 03/18] ide: remove ->dma_{status,command} fields from ide_hwif_t Bartlomiej Zolnierkiewicz
2008-06-20 21:33 ` [PATCH 04/18] ide: remove ide_setup_dma() Bartlomiej Zolnierkiewicz
2008-06-20 22:03 ` Sergei Shtylyov
2008-06-21 19:06 ` Bartlomiej Zolnierkiewicz
2008-06-21 19:29 ` Sergei Shtylyov
2008-08-21 17:16 ` Sergei Shtylyov
2008-08-21 17:56 ` Sergei Shtylyov
2008-06-20 21:33 ` [PATCH 05/18] ide: factor out simplex handling from ide_pci_dma_base() Bartlomiej Zolnierkiewicz
2008-06-20 21:34 ` [PATCH 06/18] ide: add ->exec_command method Bartlomiej Zolnierkiewicz
2008-06-20 21:34 ` [PATCH 07/18] ide: add ->read_status method Bartlomiej Zolnierkiewicz
2008-06-20 21:34 ` [PATCH 08/18] ide: add ->read_altstatus method Bartlomiej Zolnierkiewicz
2008-06-20 21:34 ` [PATCH 09/18] ide: add ->set_irq method Bartlomiej Zolnierkiewicz
2008-10-15 12:20 ` Sergei Shtylyov
2008-10-15 18:22 ` Bartlomiej Zolnierkiewicz
2008-10-15 21:22 ` Sergei Shtylyov [this message]
2008-06-20 21:34 ` [PATCH 10/18] ide: change order of register access in ide_config_drive_speed() Bartlomiej Zolnierkiewicz
2008-06-20 21:34 ` [PATCH 11/18] ide: use ->tf_load " Bartlomiej Zolnierkiewicz
2008-06-20 21:34 ` [PATCH 12/18] ide: use ->tf_load in actual_try_to_identify() Bartlomiej Zolnierkiewicz
2008-06-20 23:14 ` Sergei Shtylyov
2008-06-21 19:10 ` Bartlomiej Zolnierkiewicz
2008-06-20 21:34 ` [PATCH 13/18] ide: use ->tf_load in SELECT_DRIVE() Bartlomiej Zolnierkiewicz
2009-02-15 20:25 ` Sergei Shtylyov
2009-02-16 0:08 ` Sergei Shtylyov
2009-02-16 11:50 ` Sergei Shtylyov
2009-02-16 21:51 ` Bartlomiej Zolnierkiewicz
2009-02-17 1:04 ` Sergei Shtylyov
2009-02-17 14:43 ` Bartlomiej Zolnierkiewicz
2009-02-17 15:32 ` Sergei Shtylyov
2009-03-04 15:43 ` Sergei Shtylyov
2009-02-17 12:23 ` Sergei Shtylyov
2009-02-17 15:13 ` Sergei Shtylyov
2008-06-20 21:34 ` [PATCH 14/18] ide: use ->tf_read in ide_read_error() Bartlomiej Zolnierkiewicz
2009-02-15 23:21 ` Sergei Shtylyov
2009-02-16 12:13 ` Sergei Shtylyov
2009-02-16 12:25 ` Sergei Shtylyov
2009-02-16 21:17 ` Bartlomiej Zolnierkiewicz
2009-02-17 0:14 ` Sergei Shtylyov
2009-02-17 0:50 ` Sergei Shtylyov
2008-06-20 21:35 ` [PATCH 15/18] ide: add ide_read_device() helper Bartlomiej Zolnierkiewicz
2008-06-20 21:35 ` [PATCH 16/18] ide: add ide_read_ireason() helper Bartlomiej Zolnierkiewicz
2008-06-20 21:35 ` [PATCH 17/18] ide: add ide_read_bcount_and_ireason() helper Bartlomiej Zolnierkiewicz
2008-06-20 21:35 ` [PATCH 18/18] ide: remove ->INB, ->OUTB and ->OUTBSYNC methods Bartlomiej Zolnierkiewicz
2008-09-03 13:19 ` [PATCH 01/18] ide: add ->read_sff_dma_status method Sergei Shtylyov
2008-09-03 18:13 ` Bartlomiej Zolnierkiewicz
2008-09-07 18:15 ` Sergei Shtylyov
2008-09-07 18:49 ` Sergei Shtylyov
2008-09-07 19:23 ` Bartlomiej Zolnierkiewicz
2008-09-07 22:26 ` Sergei Shtylyov
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=48F65F2A.9020007@ru.mvista.com \
--to=sshtylyov@ru.mvista.com \
--cc=bzolnier@gmail.com \
--cc=linux-ide@vger.kernel.org \
--cc=linux-kernel@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 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.