Re: UIO driver for framebuffer

From: Hans J. Koch
Date: Sun Jun 28 2009 - 12:00:41 EST


On Thu, Jun 25, 2009 at 05:11:25PM +0530, vijay baskar wrote:
> Hi all,
>
> I have written a uio driver for framebuffer device.

Why? Framebuffer devices should be handled by the framebuffer subsystem which
already makes the framebuffer accessible from userspace in a way that's
supported by many userspace libraries. Why do you want to reinvent the wheel
in an incompatible way?

> I added device
> specific register memory in uio.mem. I also added DMA param memory in
> uio.mem to perform DMA from userspace. Also video RAM
> <http://fixunix.com/#> was mapped in kernel space using
> dma_alloc_coherent() and a logical address was obtained. This logical
> address was also added in uio.mem with memtype as UIO_MEM_LOGICAL
> because i can fill video ram from userspace.Read and write to this DMA
> param memory from userspace is not having any effect. Also video RAM
> memory that i filled up is not getting written to the framebuffer device
> when DMA is started. Also one more info that i noted was that values
> assigned to logical addresses in kernel space are not reflected in
> userspace after mmap. The values in userspace show different values
> compared to that in kernel space.
> This is a bit confusing for me.

For me too.

> Why is this happening?? Have I missed
> any information??

Yes, UIO is not for devices that are already supported by other subsystems.

> Am i on the right path??

I don't think so, unless you can provide good technical reasons for your
concept.

Thanks,
Hans

>
> regards,
> vijai
> --
> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> the body of a message to majordomo@xxxxxxxxxxxxxxx
> More majordomo info at http://vger.kernel.org/majordomo-info.html
> Please read the FAQ at http://www.tux.org/lkml/
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/