2002-07-25 23:34:52

by Anderson, Charles R

[permalink] [raw]
Subject: 2.4.19-rc3-ac3 ide_map_buffer/ide_unmap_buffer

[I'm not subscribed, so please Cc: me directly. Thanks.]

patch-2.4.19-rc3-ac3 has this stuff related to highmem support:

/*
+ * mapping stuff, prepare for highmem...
+ *
+ * temporarily mapping a (possible) highmem bio for PIO transfer
+ */
+#define ide_rq_offset(rq) \
+ (((rq)->hard_cur_sectors - (rq)->current_nr_sectors) << 9)
+
+extern inline void *ide_map_buffer(struct request *rq, unsigned long
*flags)
+{
+ return rq->buffer + ide_rq_offset(rq);
+}
+
+extern inline void ide_unmap_buffer(char *buffer, unsigned long *flags)
+{
+ do { } while (0);
+}

Red Hat's 2.4.18-5 kernel has these conflicting bits in
linux-2.4.17-blockhighmem.patch:

+
+/*
+ * temporarily mapping a (possible) highmem bio
+ */
+#define ide_rq_offset(rq) (((rq)->hard_cur_sectors - (rq)->current_nr_sectors) << 9)
+
+extern inline void *ide_map_buffer(struct request *rq, unsigned long
*flags)
+{
+ return bh_kmap_irq(rq->bh, flags) + ide_rq_offset(rq);
+}
+
+extern inline void ide_unmap_buffer(char *buffer, unsigned long *flags)
+{
+ bh_kunmap_irq(buffer, flags);
+}

Which one should I apply? I'm inclined to keep the Red Hat bits, since
the ac3 ide_unmap_buffer does nothing.

[For anyone wondering, I have a new Dell with an Intel 845G chipset for
which I would like DMA support, etc. I'm attempting to merge
2.4.19-rc3-ac3 with Red Hat's patches. If anyone has a simple patch for
82801DB IDE DMA support which applies to 2.4.18 I'd be much obliged.]

Thanks.

--
Charles R. Anderson <[email protected]> / http://angus.ind.wpi.edu/~cra/
PGP Key ID: 49BB5886
Fingerprint: EBA3 A106 7C93 FA07 8E15 3AC2 C367 A0F9 49BB 5886


2002-07-25 23:47:27

by Andre Hedrick

[permalink] [raw]
Subject: Re: 2.4.19-rc3-ac3 ide_map_buffer/ide_unmap_buffer


Well there is a clash of patchs and both are needed, and the have to be
mixed to gather properly.

On Thu, 25 Jul 2002, Charles R. Anderson wrote:

> [I'm not subscribed, so please Cc: me directly. Thanks.]
>
> patch-2.4.19-rc3-ac3 has this stuff related to highmem support:
>
> /*
> + * mapping stuff, prepare for highmem...
> + *
> + * temporarily mapping a (possible) highmem bio for PIO transfer
> + */
> +#define ide_rq_offset(rq) \
> + (((rq)->hard_cur_sectors - (rq)->current_nr_sectors) << 9)
> +
> +extern inline void *ide_map_buffer(struct request *rq, unsigned long
> *flags)
> +{
> + return rq->buffer + ide_rq_offset(rq);
> +}
> +
> +extern inline void ide_unmap_buffer(char *buffer, unsigned long *flags)
> +{
> + do { } while (0);
> +}
>
> Red Hat's 2.4.18-5 kernel has these conflicting bits in
> linux-2.4.17-blockhighmem.patch:
>
> +
> +/*
> + * temporarily mapping a (possible) highmem bio
> + */
> +#define ide_rq_offset(rq) (((rq)->hard_cur_sectors - (rq)->current_nr_sectors) << 9)
> +
> +extern inline void *ide_map_buffer(struct request *rq, unsigned long
> *flags)
> +{
> + return bh_kmap_irq(rq->bh, flags) + ide_rq_offset(rq);
> +}
> +
> +extern inline void ide_unmap_buffer(char *buffer, unsigned long *flags)
> +{
> + bh_kunmap_irq(buffer, flags);
> +}
>
> Which one should I apply? I'm inclined to keep the Red Hat bits, since
> the ac3 ide_unmap_buffer does nothing.
>
> [For anyone wondering, I have a new Dell with an Intel 845G chipset for
> which I would like DMA support, etc. I'm attempting to merge
> 2.4.19-rc3-ac3 with Red Hat's patches. If anyone has a simple patch for
> 82801DB IDE DMA support which applies to 2.4.18 I'd be much obliged.]
>
> Thanks.
>
> --
> Charles R. Anderson <[email protected]> / http://angus.ind.wpi.edu/~cra/
> PGP Key ID: 49BB5886
> Fingerprint: EBA3 A106 7C93 FA07 8E15 3AC2 C367 A0F9 49BB 5886
> -
> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> the body of a message to [email protected]
> 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

2002-07-26 09:23:56

by Alan

[permalink] [raw]
Subject: Re: 2.4.19-rc3-ac3 ide_map_buffer/ide_unmap_buffer

On Fri, 2002-07-26 at 00:38, Charles R. Anderson wrote:
>
> Which one should I apply? I'm inclined to keep the Red Hat bits, since
> the ac3 ide_unmap_buffer does nothing.
>
> [For anyone wondering, I have a new Dell with an Intel 845G chipset for
> which I would like DMA support, etc. I'm attempting to merge
> 2.4.19-rc3-ac3 with Red Hat's patches. If anyone has a simple patch for
> 82801DB IDE DMA support which applies to 2.4.18 I'd be much obliged.]

Thats a non trivial merge. I don't think there is anything in the base
RH that matters except for big (1Gb plus) servers that isnt in -ac. You
can also pick up the rawhide kernel if you are brave