Re: IDE booting problems with 2.5.23

Martin Dalecki
2002-06-20T10:58:29Z

Użytkownik Jens Axboe napisał:
> On Thu, Jun 20 2002, Martin Dalecki wrote:
>
>>BTW> Jens did you notice that the IDE_DMA flag is a "read only"
>>flag? I see basically only TQC code checking it. I would
>>like to replace the drive->waiting_for_dma flag field by the
>>proper usage of the IDE_DMA bit. Any way this could bite TCQ code?
>>The checks there appear to be only sanity checks anyway.
>
>
> At first I did just add them as sanity checks, but later on I had the
> same thought myself (get rid of drive->waiting_for_dma). So go ahead
> with that.

OK.

> BTW, I see you renamed the flags to channel->active. I think that's a
> bit misleading, can't you just call it ->state or ->flags (or
> ->state_flags? :-)

My reasoning behind this is - state is for device state
register and active is well for the state of the driver. All the other
names seemed for me to be too opaque for the purpose of it or already used.
flags souns static to me.
And you have to agree that it is *very* special
purpose if you look at the IDE_BUSY bit.
And finally - I took this name from the FreeBSD
code to make it look a bit more similar.

Another tought:

- We will have then an IDE_DMA which will indicate clearly
that we are expecting some async event for the sake of DMA.

But we have IDE_BUSY overloaded with both:

- Flagging that we are expecting an IRQ to arrive during
PIO io (in conjencture with ->handler != NULL).

- Flagging that the do_request code path should be reentered
immediately or is busy.

I thihink its hard but worth it to split the semantic overload.
In esp. a very fragile change. But I *feel* like it would
be worth it. Suggestions opinnions?