On Saturday 11 August 2007, Sergei Shtylyov wrote:
> Hello.
>
> Bartlomiej Zolnierkiewicz wrote:
>
> >>>>Index: linux-2.6/drivers/ide/pci/hpt366.c
> >>>>===================================================================
> >>>>--- linux-2.6.orig/drivers/ide/pci/hpt366.c
> >>>>+++ linux-2.6/drivers/ide/pci/hpt366.c
>
> [...]
> >>>IMO all HPT*_ALLOW_ATA* defines should just go away...
>
> >> I think it's still worth to keep 'em alive for the possible blacklist
> >>additions.
>
> > No strong feelings about these defines but I think that they actually make
> > the code less readable and also more complex because they control _both_
> > DPLL used (through controlling max_ultra) and the maximum UDMA mask.
>
> That's because the maximum UDMA mask depends on the DPLL frequency...
>
> > Moreover they are _compile_ time options so for testing purposes we may
> > as well ask user to change UDMA mask etc.
>
> ... and UltraDMA/100 is *not* reachable with 66 MHz clock (it will have
> to
> use the same timings as UltraDMA/66 -- so changing the mask only is just not
> enough.
>
> Now you can hopefully see that these #define's as they are now exist for
> a
> good reason... :-)
Yes but I still believe that there should be some cleaner solution... ;)
> >>>Also now that ->udma_filter is always present the initial hwif->ultra_mask
> >>>doesn't matter so as well we may set it to ATA_UDMA6 (0x7f) and cleanup
> >>>struct hpt_info (by removing max_ultra after fixing init_chipset_hpt366()
> >>>to use info->chip_type >= HPT374 check instead),
>
> >> It's all interesting but you've missed one aspect -- this will make the
> >>kernel larger while the current code keeps all this logic in the init.text
> >>section.
>
> > We won't be adding a single line of new code:
>
> > - the current ->udma_filter implementation does everything needed already
>
> Not really. It will return 0x7f for chipset not supporting it
Which is 100% correct given current values of HPT*_ALLOW_ATA133_6 defines.
> > - in init_chipset_hpt366() we simply would replace
>
> > if (info->max_ultra > 6)
>
> Actually,( info->max_ultra == 6)
Yes.
> > with
>
> > if (info->chip_type >= HPT374)
>
> This is just wrong -- HPT374 does not tolarate 66 MHz clock. You
> probably
> meant HPT372 (or >)?
Yes, ">".
> > (this change depends on the current HPT3xx enums order
> > and on removal HPT*_ALLOW_ATA* defines)
>
> Heh, how about doing this (pardon for the bad... er, sed language):
>
> default:
> return s/0x71/drive->hwif->ultra_mask/;
>
> without all any changes that you've proposed and being done with that fix? :-)
I hope that you meant:
default:
return s/0x7f/drive->hwif->ultra_mask/;
Yep, I'm fine with it.
> >>>Uh, the only real change here consists of the three lines above, the rest
> >>>is just a noise caused by removal of one tab.
>
> >>>Such changes are really not worth it - in this case it caused rejects in
> >>>two patches from IDE quilt tree which I had to fix manually.
>
> >> I hope now that you've fixed it, I may leave this part intact? ;-)
>
> > Iff you base the new patch on top of IDE quilt tree otherwise I'll have
> > to fix it _again_. ;-)
>
> I hope you haven't forgotten the basic rule: "the fixes come first"? :-)
The basic rule is to keep the process steady. :-)
"The fixes come first" is the 2-nd rule and becomes a bit hard to keep up
when there is almost hundred patches in the series.
> And why fix it again, if I'm not going to drop that part?
Indeed, there is no need to fix again...
Thanks,
Bart
-
To unsubscribe from this list: send the line "unsubscribe linux-ide" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at http://vger.kernel.org/majordomo-info.html