Re: [PATCH 4/4] pt3: add support for Earthsoft PT3 ISDB-S/T receiver card

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 2014年08月16日 01:17, Mauro Carvalho Chehab wrote:
..........
>> +++ b/drivers/media/pci/pt3/pt3.c
..........
>> +static int pt3_fetch_thread(void *data)
>> +{
>> +	struct pt3_adapter *adap = data;
>> +
>> +#define PT3_FETCH_DELAY (10 * 1000)
>> +#define PT3_INITIAL_DISCARD_BUFS 4
>> +
>> +	pt3_init_dmabuf(adap);
>> +	adap->num_discard = PT3_INITIAL_DISCARD_BUFS;
>> +
>> +	dev_dbg(adap->dvb_adap.device,
>> +		"PT3: [%s] started.\n", adap->thread->comm);
>> +	while (!kthread_should_stop()) {
>> +		pt3_proc_dma(adap);
>> +		usleep_range(PT3_FETCH_DELAY, PT3_FETCH_DELAY + 2000);
>> +	}
>> +	dev_dbg(adap->dvb_adap.device,
>> +		"PT3: [%s] exited.\n", adap->thread->comm);
>> +	adap->thread = NULL;
>> +	return 0;
>> +}
> 
> Why do you need a thread here? Having a thread requires some special
> care, as you need to delete it before suspend, restore at resume
> (if active) and be sure that it was killed at device removal.
> 
> I'm not seeing any of those things on this driver.

PT3 is a dumb device that lacks interrupt,
so the driver has to poll the DMA buffers regularly to know if
a DMA has finished.

I forgot to clean up the thread in remove() and will add it in the v2.
As with suspend/resume, I can add a check of freezing() like in
dvb_frontend.c::dvb_frontend_thread(), but if I remember right,
I had read before that someone pointed out that
the suspend/resume of DVB is not supported by DVB core,
and not many of other drivers seem to support it either,
so I thought I could omit this feature and rely on module re-probing.
Should I implement power management ops and set them to .driver.pm?
--
To unsubscribe from this list: send the line "unsubscribe linux-media" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [Linux Input]     [Video for Linux]     [Gstreamer Embedded]     [Mplayer Users]     [Linux USB Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Yosemite Backpacking]
  Powered by Linux