Removing Giant from a driver
Bill Moran
wmoran at collaborativefusion.com
Sat Oct 14 16:50:05 PDT 2006
You might do better by subscribing to hackers@ and posting there.
This question is a little more technical than this list usually deals
with.
usleepless at gmail.com wrote:
> Hi All,
>
> i have been tweaking the pvr250 driver to support pvr150s/500s. now i
> want to remove Giant from the code.
>
> problem is, i am not sure what to do. i have created a mutex which
> replaces the spltty and splx calls. but this crashes my box :-)
>
> the original code looks like this:
> /*
> * Allocate a DMA tag for the scatter / gather list.
> */
> error = bus_dma_tag_create(sc->parent_dmat, 1, 0,
> BUS_SPACE_MAXADDR_32BIT,
> BUS_SPACE_MAXADDR, NULL, NULL,
> CXM_SG_BUFFERS
> * sizeof(struct cxm_sg_entry), 1,
> BUS_SPACE_MAXSIZE_32BIT, 0,
> #if __FreeBSD_version >= 501102
> busdma_lock_mutex, &Giant,
> #endif
> &sc->enc_sg.dmat);
>
> what should it look like?
>
> and how will i prevent the interrupt routine from interfering with
> userland operations? can i place a "mtx_lock()" call in the interrupt
> routine?
>
> is there a howto somewhere?
>
> regards,
>
> usleep
> _______________________________________________
> freebsd-questions at freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-questions
> To unsubscribe, send any mail to "freebsd-questions-unsubscribe at freebsd.org"
--
Bill Moran
Many miles away, something crawls through the slime at the bottom of a
dark, Scottish lake.
More information about the freebsd-questions
mailing list