All of lore.kernel.org
 help / color / mirror / Atom feed
* (RE:  using 2.5.25 with IDE) On sparc64.....
@ 2002-07-09 14:46 Holzrichter, Bruce
  2002-07-10 10:24 ` Richard Zidlicky
  0 siblings, 1 reply; 9+ messages in thread
From: Holzrichter, Bruce @ 2002-07-09 14:46 UTC (permalink / raw)
  To: 'Bartlomiej Zolnierkiewicz', linux-kernel; +Cc: 'axboe@suse.de'

> 
> Contrary to the popular belief 2.5.25 has only Martin's IDE-93
> and has broken locking...
> 
> If you want to run IDE on 2.5.25 get and apply:

I am running a Sparc64 Ultra5 with IDE [insert flame here] which uses a
CMD646 PCI controller, and since at least 2.5.20 it has not booted.  I
currently run 2.5.13, which boots and runs fine, and all is well with 2.4
series.  

I have tried current bk, with IDE 94,95, and 96 applied with the same
result, all hang after printing the partition list of the hard drive.  

I most recently tried Jen's 2.4 forward port, with about the same result,
though the following errors were printed before the kernel hung.  (BTW,
Jen's a modified asm-sparc64/ide.h is below if you want to keep with your
2.4 port)

I am running in PIO mode, and saw that may be broken?  And I realize that
there is probably not much interest/need for IDE to get working on this yet,
but I am wondering if you can point to some ideas to help me along with
figuring out what's going on.  I am going to insert some printk's to see if
I can narrow down where I am hanging at, and if you have any thoughts on
where's the best place to look, I'd be most appreciative.

Thanks
Bruce H.

Patch below to get 2.4 forward port of IDE to compile on Sparc64...
--- linus-2.5/include/asm-sparc64/ide.h	Tue Jul  9 08:53:10 2002
+++ sparctest/include/asm-sparc64/ide.h	Tue Jul  9 09:11:24 2002
@@ -64,7 +64,11 @@
 	for (index = 0; index < MAX_HWIFS; index++) {
 		ide_init_hwif_ports(&hw, ide_default_io_base(index), 0,
NULL);
 		hw.irq = ide_default_irq(ide_default_io_base(index));
+#if defined(CONFIG_IDE_25)
 		ide_register_hw(&hw);
+#elif defined(CONFIG_IDE_24)
+		ide_register_hw(&hw, NULL);
+#endif
 	}
 #endif
 }
@@ -178,6 +182,20 @@
 #endif
 }
 
+#define ide_request_irq(irq,hand,flg,dev,id)
request_irq((irq),(hand),(flg),(dev),(id))
+#define ide_free_irq(irq,dev_id)		free_irq((irq), (dev_id))
+#define ide_check_region(from,extent)		check_region((from),
(extent))
+#define ide_request_region(from,extent,name)	request_region((from),
(extent), (name))
+#define ide_release_region(from,extent)
release_region((from), (extent))
+
+/*
+ * The following are not needed for the non-m68k ports
+ */
+#define ide_ack_intr(hwif)		(1)
+#define ide_fix_driveid(id)		do {} while (0)
+#define ide_release_lock(lock)		do {} while (0)
+#define ide_get_lock(lock, hdlr, data)	do {} while (0)
+ 
 #endif /* __KERNEL__ */
 
 #endif /* _SPARC64_IDE_H */

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: (RE:  using 2.5.25 with IDE) On sparc64.....
  2002-07-09 14:46 (RE: using 2.5.25 with IDE) On sparc64 Holzrichter, Bruce
@ 2002-07-10 10:24 ` Richard Zidlicky
  2002-07-10 10:57   ` Jens Axboe
  0 siblings, 1 reply; 9+ messages in thread
From: Richard Zidlicky @ 2002-07-10 10:24 UTC (permalink / raw)
  To: Holzrichter, Bruce
  Cc: 'Bartlomiej Zolnierkiewicz',
	linux-kernel, 'axboe@suse.de'

On Tue, Jul 09, 2002 at 09:46:10AM -0500, Holzrichter, Bruce wrote:

> Patch below to get 2.4 forward port of IDE to compile on Sparc64...
> --- linus-2.5/include/asm-sparc64/ide.h	Tue Jul  9 08:53:10 2002
> +++ sparctest/include/asm-sparc64/ide.h	Tue Jul  9 09:11:24 2002


> @@ -178,6 +182,20 @@
>  #endif
>  }
>  
> +#define ide_request_irq(irq,hand,flg,dev,id)
> request_irq((irq),(hand),(flg),(dev),(id))
> +#define ide_free_irq(irq,dev_id)		free_irq((irq), (dev_id))
> +#define ide_check_region(from,extent)		check_region((from),
> (extent))
> +#define ide_request_region(from,extent,name)	request_region((from),
> (extent), (name))
> +#define ide_release_region(from,extent)
> release_region((from), (extent))
> +
> +/*
> + * The following are not needed for the non-m68k ports
> + */
> +#define ide_ack_intr(hwif)		(1)
> +#define ide_fix_driveid(id)		do {} while (0)
           ^^^^^^^^^^^^^^^

the comment is misleading, this is actually needed on more than m68k
so not a big surprise it doesn't work. Cut&paste from 2.4.

Richard

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: (RE:  using 2.5.25 with IDE) On sparc64.....
  2002-07-10 10:24 ` Richard Zidlicky
@ 2002-07-10 10:57   ` Jens Axboe
  2002-07-10 15:09     ` Bartlomiej Zolnierkiewicz
  0 siblings, 1 reply; 9+ messages in thread
From: Jens Axboe @ 2002-07-10 10:57 UTC (permalink / raw)
  To: Richard Zidlicky
  Cc: Holzrichter, Bruce, 'Bartlomiej Zolnierkiewicz', linux-kernel

On Wed, Jul 10 2002, Richard Zidlicky wrote:
> On Tue, Jul 09, 2002 at 09:46:10AM -0500, Holzrichter, Bruce wrote:
> 
> > Patch below to get 2.4 forward port of IDE to compile on Sparc64...
> > --- linus-2.5/include/asm-sparc64/ide.h	Tue Jul  9 08:53:10 2002
> > +++ sparctest/include/asm-sparc64/ide.h	Tue Jul  9 09:11:24 2002
> 
> 
> > @@ -178,6 +182,20 @@
> >  #endif
> >  }
> >  
> > +#define ide_request_irq(irq,hand,flg,dev,id)
> > request_irq((irq),(hand),(flg),(dev),(id))
> > +#define ide_free_irq(irq,dev_id)		free_irq((irq), (dev_id))
> > +#define ide_check_region(from,extent)		check_region((from),
> > (extent))
> > +#define ide_request_region(from,extent,name)	request_region((from),
> > (extent), (name))
> > +#define ide_release_region(from,extent)
> > release_region((from), (extent))
> > +
> > +/*
> > + * The following are not needed for the non-m68k ports
> > + */
> > +#define ide_ack_intr(hwif)		(1)
> > +#define ide_fix_driveid(id)		do {} while (0)
>            ^^^^^^^^^^^^^^^
> 
> the comment is misleading, this is actually needed on more than m68k
> so not a big surprise it doesn't work. Cut&paste from 2.4.

Bruce,

I checked in your previous patch already. Care to really forward port
asm-sparc64/ide.h from 2.4.19-pre10-rc2 and send me an incremental
patch?

-- 
Jens Axboe


^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: (RE:  using 2.5.25 with IDE) On sparc64.....
  2002-07-10 10:57   ` Jens Axboe
@ 2002-07-10 15:09     ` Bartlomiej Zolnierkiewicz
  2002-07-10 17:24       ` Jens Axboe
  0 siblings, 1 reply; 9+ messages in thread
From: Bartlomiej Zolnierkiewicz @ 2002-07-10 15:09 UTC (permalink / raw)
  To: Jens Axboe; +Cc: Richard Zidlicky, Holzrichter, Bruce, linux-kernel


While at it Jens, 2.4 code has endianness problems (or already fixed?)
would you mind porting my 2.5 patch?

On Wed, 10 Jul 2002, Jens Axboe wrote:

> On Wed, Jul 10 2002, Richard Zidlicky wrote:
> > On Tue, Jul 09, 2002 at 09:46:10AM -0500, Holzrichter, Bruce wrote:
> >
> > > Patch below to get 2.4 forward port of IDE to compile on Sparc64...
> > > --- linus-2.5/include/asm-sparc64/ide.h	Tue Jul  9 08:53:10 2002
> > > +++ sparctest/include/asm-sparc64/ide.h	Tue Jul  9 09:11:24 2002
> >
> >
> > > @@ -178,6 +182,20 @@
> > >  #endif
> > >  }
> > >
> > > +#define ide_request_irq(irq,hand,flg,dev,id)
> > > request_irq((irq),(hand),(flg),(dev),(id))
> > > +#define ide_free_irq(irq,dev_id)		free_irq((irq), (dev_id))
> > > +#define ide_check_region(from,extent)		check_region((from),
> > > (extent))
> > > +#define ide_request_region(from,extent,name)	request_region((from),
> > > (extent), (name))
> > > +#define ide_release_region(from,extent)
> > > release_region((from), (extent))
> > > +
> > > +/*
> > > + * The following are not needed for the non-m68k ports
> > > + */
> > > +#define ide_ack_intr(hwif)		(1)
> > > +#define ide_fix_driveid(id)		do {} while (0)
> >            ^^^^^^^^^^^^^^^
> >
> > the comment is misleading, this is actually needed on more than m68k
> > so not a big surprise it doesn't work. Cut&paste from 2.4.
>
> Bruce,
>
> I checked in your previous patch already. Care to really forward port
> asm-sparc64/ide.h from 2.4.19-pre10-rc2 and send me an incremental
> patch?
>
> --
> Jens Axboe
>


^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: (RE:  using 2.5.25 with IDE) On sparc64.....
  2002-07-10 15:09     ` Bartlomiej Zolnierkiewicz
@ 2002-07-10 17:24       ` Jens Axboe
  0 siblings, 0 replies; 9+ messages in thread
From: Jens Axboe @ 2002-07-10 17:24 UTC (permalink / raw)
  To: Bartlomiej Zolnierkiewicz
  Cc: Richard Zidlicky, Holzrichter, Bruce, linux-kernel

On Wed, Jul 10 2002, Bartlomiej Zolnierkiewicz wrote:
> 
> While at it Jens, 2.4 code has endianness problems (or already fixed?)
> would you mind porting my 2.5 patch?

Cool thanks, I will add that to the next version.

-- 
Jens Axboe


^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: (RE:  using 2.5.25 with IDE) On sparc64.....
  2002-07-10 22:01 ` Andre Hedrick
@ 2002-07-11  5:45   ` Jens Axboe
  0 siblings, 0 replies; 9+ messages in thread
From: Jens Axboe @ 2002-07-11  5:45 UTC (permalink / raw)
  To: Andre Hedrick
  Cc: Holzrichter, Bruce, Richard Zidlicky,
	'Bartlomiej Zolnierkiewicz',
	linux-kernel

On Wed, Jul 10 2002, Andre Hedrick wrote:
> 
> The locking code is broken because the port forward fail to carry all
> issues.

Where is it broken? The 2.4 forward port has the exact same locking as
the 2.4 base. And I do mean identical.

-- 
Jens Axboe


^ permalink raw reply	[flat|nested] 9+ messages in thread

* RE: (RE:  using 2.5.25 with IDE) On sparc64.....
  2002-07-10 21:42 Holzrichter, Bruce
  2002-07-10 22:01 ` Andre Hedrick
@ 2002-07-10 22:54 ` Bartlomiej Zolnierkiewicz
  1 sibling, 0 replies; 9+ messages in thread
From: Bartlomiej Zolnierkiewicz @ 2002-07-10 22:54 UTC (permalink / raw)
  To: Holzrichter, Bruce; +Cc: 'Jens Axboe', Richard Zidlicky, linux-kernel


Don't waste your time ;-)
Jens was already sent my old patch to fix endianness..

--
Bartlomiej



^ permalink raw reply	[flat|nested] 9+ messages in thread

* RE: (RE:  using 2.5.25 with IDE) On sparc64.....
  2002-07-10 21:42 Holzrichter, Bruce
@ 2002-07-10 22:01 ` Andre Hedrick
  2002-07-11  5:45   ` Jens Axboe
  2002-07-10 22:54 ` Bartlomiej Zolnierkiewicz
  1 sibling, 1 reply; 9+ messages in thread
From: Andre Hedrick @ 2002-07-10 22:01 UTC (permalink / raw)
  To: Holzrichter, Bruce
  Cc: 'Jens Axboe',
	Richard Zidlicky, 'Bartlomiej Zolnierkiewicz',
	linux-kernel


The locking code is broken because the port forward fail to carry all
issues.

On Wed, 10 Jul 2002, Holzrichter, Bruce wrote:

> 
> > Bruce,
> > 
> > I checked in your previous patch already. Care to really forward port
> > asm-sparc64/ide.h from 2.4.19-pre10-rc2 and send me an incremental
> > patch?
> > 
> 
> I have done some Preliminary work on this, but not had a lot of time to look
> at it.  In comparing the sparc64 old/new to i386, I replaced a couple of the
> #define's with the static __inline__ that were in the 2.4.19 sparc64
> version.  
> 
> At this point, I say Preliminary, as it DOESN'T work yet on sparc64, and
> this is the first IDE code I've really looked at.  It will compile, but
> right now, it's falling down at the partition check still, but displaying
> "unknown partition" and also a "bad csum" for the sun label. 
> 
> Jen's can you take a quick look at this, and let me know what your thoughts
> are on this patch?  Again, it doesn't do much right now...
> 
> This is an interim diff against your updated ide24 bk tree...
> 
> --- spideclean/include/asm-sparc64/ide.h	Wed Jul 10 13:44:03 2002
> +++ sparctest/include/asm-sparc64/ide.h	Wed Jul 10 12:18:54 2002
> @@ -182,19 +182,132 @@
>  #endif
>  }
>  
> -#define ide_request_irq(irq,hand,flg,dev,id)
> request_irq((irq),(hand),(flg),(dev),(id))
> -#define ide_free_irq(irq,dev_id)		free_irq((irq), (dev_id))
> -#define ide_check_region(from,extent)		check_region((from),
> (extent))
> -#define ide_request_region(from,extent,name)	request_region((from),
> (extent), (name))
> -#define ide_release_region(from,extent)	release_region((from),
> (extent))
> +#if defined(CONFIG_IDE_24)
> +static __inline__ void ide_fix_driveid(struct hd_driveid *id)
> +{
> +        int i;
> +        u16 *stringcast;
> +
> +        id->config         = __le16_to_cpu(id->config);
> +        id->cyls           = __le16_to_cpu(id->cyls);
> +        id->reserved2      = __le16_to_cpu(id->reserved2);
> +        id->heads          = __le16_to_cpu(id->heads);
> +        id->track_bytes    = __le16_to_cpu(id->track_bytes);
> +        id->sector_bytes   = __le16_to_cpu(id->sector_bytes);
> +        id->sectors        = __le16_to_cpu(id->sectors);
> +        id->vendor0        = __le16_to_cpu(id->vendor0);
> +        id->vendor1        = __le16_to_cpu(id->vendor1);
> +        id->vendor2        = __le16_to_cpu(id->vendor2);
> +        stringcast = (u16 *)&id->serial_no[0];
> +        for (i = 0; i < (20/2); i++)
> +                stringcast[i] = __le16_to_cpu(stringcast[i]);
> +        id->buf_type       = __le16_to_cpu(id->buf_type);
> +        id->buf_size       = __le16_to_cpu(id->buf_size);
> +        id->ecc_bytes      = __le16_to_cpu(id->ecc_bytes);
> +        stringcast = (u16 *)&id->fw_rev[0];
> +        for (i = 0; i < (8/2); i++)
> +                stringcast[i] = __le16_to_cpu(stringcast[i]);
> +        stringcast = (u16 *)&id->model[0];
> +        for (i = 0; i < (40/2); i++)
> +                stringcast[i] = __le16_to_cpu(stringcast[i]);
> +        id->dword_io       = __le16_to_cpu(id->dword_io);
> +        id->reserved50     = __le16_to_cpu(id->reserved50);
> +        id->field_valid    = __le16_to_cpu(id->field_valid);
> +        id->cur_cyls       = __le16_to_cpu(id->cur_cyls);
> +        id->cur_heads      = __le16_to_cpu(id->cur_heads);
> +        id->cur_sectors    = __le16_to_cpu(id->cur_sectors);
> +        id->cur_capacity0  = __le16_to_cpu(id->cur_capacity0);
> +        id->cur_capacity1  = __le16_to_cpu(id->cur_capacity1);
> +        id->lba_capacity   = __le32_to_cpu(id->lba_capacity);
> +        id->dma_1word      = __le16_to_cpu(id->dma_1word);
> +        id->dma_mword      = __le16_to_cpu(id->dma_mword);
> +        id->eide_pio_modes = __le16_to_cpu(id->eide_pio_modes);
> +        id->eide_dma_min   = __le16_to_cpu(id->eide_dma_min);
> +        id->eide_dma_time  = __le16_to_cpu(id->eide_dma_time);
> +        id->eide_pio       = __le16_to_cpu(id->eide_pio);
> +        id->eide_pio_iordy = __le16_to_cpu(id->eide_pio_iordy);
> +        for (i = 0; i < 2; i++)
> +                id->words69_70[i] = __le16_to_cpu(id->words69_70[i]);
> +        for (i = 0; i < 4; i++)
> +                id->words71_74[i] = __le16_to_cpu(id->words71_74[i]);
> +        id->queue_depth    = __le16_to_cpu(id->queue_depth);
> +        for (i = 0; i < 4; i++)
> +                id->words76_79[i] = __le16_to_cpu(id->words76_79[i]);
> +        id->major_rev_num  = __le16_to_cpu(id->major_rev_num);
> +        id->minor_rev_num  = __le16_to_cpu(id->minor_rev_num);
> +        id->command_set_1  = __le16_to_cpu(id->command_set_1);
> +        id->command_set_2  = __le16_to_cpu(id->command_set_2);
> +        id->cfsse          = __le16_to_cpu(id->cfsse);
> +        id->cfs_enable_1   = __le16_to_cpu(id->cfs_enable_1);
> +        id->cfs_enable_2   = __le16_to_cpu(id->cfs_enable_2);
> +        id->csf_default    = __le16_to_cpu(id->csf_default);
> +        id->dma_ultra      = __le16_to_cpu(id->dma_ultra);
> +        id->word89         = __le16_to_cpu(id->word89);
> +        id->word90         = __le16_to_cpu(id->word90);
> +        id->CurAPMvalues   = __le16_to_cpu(id->CurAPMvalues);
> +        id->word92         = __le16_to_cpu(id->word92);
> +        id->hw_config      = __le16_to_cpu(id->hw_config);
> +        id->acoustic       = __le16_to_cpu(id->acoustic);
> +        for (i = 0; i < 5; i++)
> +                id->words95_99[i]  = __le16_to_cpu(id->words95_99[i]);
> +        id->lba_capacity_2 = __le64_to_cpu(id->lba_capacity_2);
> +        for (i = 0; i < 22; i++)
> +                id->words104_125[i]   = __le16_to_cpu(id->words104_125[i]);
> +        id->last_lun       = __le16_to_cpu(id->last_lun);
> +        id->word127        = __le16_to_cpu(id->word127);
> +        id->dlf            = __le16_to_cpu(id->dlf);
> +        id->csfo           = __le16_to_cpu(id->csfo);
> +        for (i = 0; i < 26; i++)
> +                id->words130_155[i] = __le16_to_cpu(id->words130_155[i]);
> +        id->word156        = __le16_to_cpu(id->word156);
> +        for (i = 0; i < 3; i++)
> +                id->words157_159[i] = __le16_to_cpu(id->words157_159[i]);
> +        id->cfa_power      = __le16_to_cpu(id->cfa_power);
> +        for (i = 0; i < 14; i++)
> +                id->words161_175[i] = __le16_to_cpu(id->words161_175[i]);
> +        for (i = 0; i < 31; i++)
> +                id->words176_205[i] = __le16_to_cpu(id->words176_205[i]);
> +        for (i = 0; i < 48; i++)
> +                id->words206_254[i] = __le16_to_cpu(id->words206_254[i]);
> +        id->integrity_word  = __le16_to_cpu(id->integrity_word);
> +}
> +
> +static __inline__ int ide_request_irq(unsigned int irq,
> +                                      void (*handler)(int, void *, struct
> pt_regs *),
> +                                      unsigned long flags, const char
> *name, void *devid)
> +{
> +        return request_irq(irq, handler, SA_SHIRQ, name, devid);
> +}
> +
> +static __inline__ void ide_free_irq(unsigned int irq, void *dev_id)
> +{
> +        free_irq(irq, dev_id);
> +}
> +
> +static __inline__ int ide_check_region(ide_ioreg_t base, unsigned int size)
> +{
> +        return check_region(base, size);
> +}
> +
> +static __inline__ void ide_request_region(ide_ioreg_t base, unsigned int
> size,
> +                                          const char *name)
> +{
> +        request_region(base, size, name);
> +}
> +
> +static __inline__ void ide_release_region(ide_ioreg_t base, unsigned int
> size)
> +{
> +        release_region(base, size);
> +}
>  
>  /*
>   * The following are not needed for the non-m68k ports
>   */
>  #define ide_ack_intr(hwif)		(1)
> -#define ide_fix_driveid(id)		do {} while (0)
>  #define ide_release_lock(lock)		do {} while (0)
>  #define ide_get_lock(lock, hdlr, data)	do {} while (0)
> +
> +#endif /* CONFIG_IDE_24 */
>   
>  #endif /* __KERNEL__ */
>  
> -
> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
> Please read the FAQ at  http://www.tux.org/lkml/
> 

Andre Hedrick
LAD Storage Consulting Group


^ permalink raw reply	[flat|nested] 9+ messages in thread

* RE: (RE:  using 2.5.25 with IDE) On sparc64.....
@ 2002-07-10 21:42 Holzrichter, Bruce
  2002-07-10 22:01 ` Andre Hedrick
  2002-07-10 22:54 ` Bartlomiej Zolnierkiewicz
  0 siblings, 2 replies; 9+ messages in thread
From: Holzrichter, Bruce @ 2002-07-10 21:42 UTC (permalink / raw)
  To: 'Jens Axboe', Richard Zidlicky
  Cc: Holzrichter, Bruce, 'Bartlomiej Zolnierkiewicz', linux-kernel


> Bruce,
> 
> I checked in your previous patch already. Care to really forward port
> asm-sparc64/ide.h from 2.4.19-pre10-rc2 and send me an incremental
> patch?
> 

I have done some Preliminary work on this, but not had a lot of time to look
at it.  In comparing the sparc64 old/new to i386, I replaced a couple of the
#define's with the static __inline__ that were in the 2.4.19 sparc64
version.  

At this point, I say Preliminary, as it DOESN'T work yet on sparc64, and
this is the first IDE code I've really looked at.  It will compile, but
right now, it's falling down at the partition check still, but displaying
"unknown partition" and also a "bad csum" for the sun label. 

Jen's can you take a quick look at this, and let me know what your thoughts
are on this patch?  Again, it doesn't do much right now...

This is an interim diff against your updated ide24 bk tree...

--- spideclean/include/asm-sparc64/ide.h	Wed Jul 10 13:44:03 2002
+++ sparctest/include/asm-sparc64/ide.h	Wed Jul 10 12:18:54 2002
@@ -182,19 +182,132 @@
 #endif
 }
 
-#define ide_request_irq(irq,hand,flg,dev,id)
request_irq((irq),(hand),(flg),(dev),(id))
-#define ide_free_irq(irq,dev_id)		free_irq((irq), (dev_id))
-#define ide_check_region(from,extent)		check_region((from),
(extent))
-#define ide_request_region(from,extent,name)	request_region((from),
(extent), (name))
-#define ide_release_region(from,extent)	release_region((from),
(extent))
+#if defined(CONFIG_IDE_24)
+static __inline__ void ide_fix_driveid(struct hd_driveid *id)
+{
+        int i;
+        u16 *stringcast;
+
+        id->config         = __le16_to_cpu(id->config);
+        id->cyls           = __le16_to_cpu(id->cyls);
+        id->reserved2      = __le16_to_cpu(id->reserved2);
+        id->heads          = __le16_to_cpu(id->heads);
+        id->track_bytes    = __le16_to_cpu(id->track_bytes);
+        id->sector_bytes   = __le16_to_cpu(id->sector_bytes);
+        id->sectors        = __le16_to_cpu(id->sectors);
+        id->vendor0        = __le16_to_cpu(id->vendor0);
+        id->vendor1        = __le16_to_cpu(id->vendor1);
+        id->vendor2        = __le16_to_cpu(id->vendor2);
+        stringcast = (u16 *)&id->serial_no[0];
+        for (i = 0; i < (20/2); i++)
+                stringcast[i] = __le16_to_cpu(stringcast[i]);
+        id->buf_type       = __le16_to_cpu(id->buf_type);
+        id->buf_size       = __le16_to_cpu(id->buf_size);
+        id->ecc_bytes      = __le16_to_cpu(id->ecc_bytes);
+        stringcast = (u16 *)&id->fw_rev[0];
+        for (i = 0; i < (8/2); i++)
+                stringcast[i] = __le16_to_cpu(stringcast[i]);
+        stringcast = (u16 *)&id->model[0];
+        for (i = 0; i < (40/2); i++)
+                stringcast[i] = __le16_to_cpu(stringcast[i]);
+        id->dword_io       = __le16_to_cpu(id->dword_io);
+        id->reserved50     = __le16_to_cpu(id->reserved50);
+        id->field_valid    = __le16_to_cpu(id->field_valid);
+        id->cur_cyls       = __le16_to_cpu(id->cur_cyls);
+        id->cur_heads      = __le16_to_cpu(id->cur_heads);
+        id->cur_sectors    = __le16_to_cpu(id->cur_sectors);
+        id->cur_capacity0  = __le16_to_cpu(id->cur_capacity0);
+        id->cur_capacity1  = __le16_to_cpu(id->cur_capacity1);
+        id->lba_capacity   = __le32_to_cpu(id->lba_capacity);
+        id->dma_1word      = __le16_to_cpu(id->dma_1word);
+        id->dma_mword      = __le16_to_cpu(id->dma_mword);
+        id->eide_pio_modes = __le16_to_cpu(id->eide_pio_modes);
+        id->eide_dma_min   = __le16_to_cpu(id->eide_dma_min);
+        id->eide_dma_time  = __le16_to_cpu(id->eide_dma_time);
+        id->eide_pio       = __le16_to_cpu(id->eide_pio);
+        id->eide_pio_iordy = __le16_to_cpu(id->eide_pio_iordy);
+        for (i = 0; i < 2; i++)
+                id->words69_70[i] = __le16_to_cpu(id->words69_70[i]);
+        for (i = 0; i < 4; i++)
+                id->words71_74[i] = __le16_to_cpu(id->words71_74[i]);
+        id->queue_depth    = __le16_to_cpu(id->queue_depth);
+        for (i = 0; i < 4; i++)
+                id->words76_79[i] = __le16_to_cpu(id->words76_79[i]);
+        id->major_rev_num  = __le16_to_cpu(id->major_rev_num);
+        id->minor_rev_num  = __le16_to_cpu(id->minor_rev_num);
+        id->command_set_1  = __le16_to_cpu(id->command_set_1);
+        id->command_set_2  = __le16_to_cpu(id->command_set_2);
+        id->cfsse          = __le16_to_cpu(id->cfsse);
+        id->cfs_enable_1   = __le16_to_cpu(id->cfs_enable_1);
+        id->cfs_enable_2   = __le16_to_cpu(id->cfs_enable_2);
+        id->csf_default    = __le16_to_cpu(id->csf_default);
+        id->dma_ultra      = __le16_to_cpu(id->dma_ultra);
+        id->word89         = __le16_to_cpu(id->word89);
+        id->word90         = __le16_to_cpu(id->word90);
+        id->CurAPMvalues   = __le16_to_cpu(id->CurAPMvalues);
+        id->word92         = __le16_to_cpu(id->word92);
+        id->hw_config      = __le16_to_cpu(id->hw_config);
+        id->acoustic       = __le16_to_cpu(id->acoustic);
+        for (i = 0; i < 5; i++)
+                id->words95_99[i]  = __le16_to_cpu(id->words95_99[i]);
+        id->lba_capacity_2 = __le64_to_cpu(id->lba_capacity_2);
+        for (i = 0; i < 22; i++)
+                id->words104_125[i]   = __le16_to_cpu(id->words104_125[i]);
+        id->last_lun       = __le16_to_cpu(id->last_lun);
+        id->word127        = __le16_to_cpu(id->word127);
+        id->dlf            = __le16_to_cpu(id->dlf);
+        id->csfo           = __le16_to_cpu(id->csfo);
+        for (i = 0; i < 26; i++)
+                id->words130_155[i] = __le16_to_cpu(id->words130_155[i]);
+        id->word156        = __le16_to_cpu(id->word156);
+        for (i = 0; i < 3; i++)
+                id->words157_159[i] = __le16_to_cpu(id->words157_159[i]);
+        id->cfa_power      = __le16_to_cpu(id->cfa_power);
+        for (i = 0; i < 14; i++)
+                id->words161_175[i] = __le16_to_cpu(id->words161_175[i]);
+        for (i = 0; i < 31; i++)
+                id->words176_205[i] = __le16_to_cpu(id->words176_205[i]);
+        for (i = 0; i < 48; i++)
+                id->words206_254[i] = __le16_to_cpu(id->words206_254[i]);
+        id->integrity_word  = __le16_to_cpu(id->integrity_word);
+}
+
+static __inline__ int ide_request_irq(unsigned int irq,
+                                      void (*handler)(int, void *, struct
pt_regs *),
+                                      unsigned long flags, const char
*name, void *devid)
+{
+        return request_irq(irq, handler, SA_SHIRQ, name, devid);
+}
+
+static __inline__ void ide_free_irq(unsigned int irq, void *dev_id)
+{
+        free_irq(irq, dev_id);
+}
+
+static __inline__ int ide_check_region(ide_ioreg_t base, unsigned int size)
+{
+        return check_region(base, size);
+}
+
+static __inline__ void ide_request_region(ide_ioreg_t base, unsigned int
size,
+                                          const char *name)
+{
+        request_region(base, size, name);
+}
+
+static __inline__ void ide_release_region(ide_ioreg_t base, unsigned int
size)
+{
+        release_region(base, size);
+}
 
 /*
  * The following are not needed for the non-m68k ports
  */
 #define ide_ack_intr(hwif)		(1)
-#define ide_fix_driveid(id)		do {} while (0)
 #define ide_release_lock(lock)		do {} while (0)
 #define ide_get_lock(lock, hdlr, data)	do {} while (0)
+
+#endif /* CONFIG_IDE_24 */
  
 #endif /* __KERNEL__ */
 

^ permalink raw reply	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2002-07-11  5:46 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2002-07-09 14:46 (RE: using 2.5.25 with IDE) On sparc64 Holzrichter, Bruce
2002-07-10 10:24 ` Richard Zidlicky
2002-07-10 10:57   ` Jens Axboe
2002-07-10 15:09     ` Bartlomiej Zolnierkiewicz
2002-07-10 17:24       ` Jens Axboe
2002-07-10 21:42 Holzrichter, Bruce
2002-07-10 22:01 ` Andre Hedrick
2002-07-11  5:45   ` Jens Axboe
2002-07-10 22:54 ` Bartlomiej Zolnierkiewicz

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.