/* if pid_filtering is on and more pids than the hw-filter can provide are * requested enable the whole bandwidth. */ if (fc->pid_filtering && fc->feedcount > max_pid_filter) { flexcop_pid_group_filter(fc, 0,0); flexcop_pid_group_filter_ctrl(fc,1); } else if (fc->pid_filtering && fc->feedcount <= max_pid_filter) { flexcop_pid_group_filter(fc, 0,0x1fe0); flexcop_pid_group_filter_ctrl(fc,0); 
/* if it was the first or last feed request change the stream-status */ if (fc->feedcount == onoff) { flexcop_rcv_data_ctrl(fc,onoff); if (fc->stream_control) fc->stream_control(fc,onoff); 
int flexcop_pid_feed_control(struct flexcop_device *fc, struct dvb_demux_feed *dvbdmxfeed, int onoff){	int max_pid_filter = 6 + fc->has_32_hw_pid_filter*32;	fc->feedcount += (onoff ? 1 : -1);	/* when doing hw pid filtering, set the pid */	if (fc->pid_filtering)		flexcop_pid_control(fc,dvbdmxfeed->index,dvbdmxfeed->pid,onoff);	/* if it was the first feed request */	if (fc->feedcount == onoff && onoff) {		if (!fc->pid_filtering) {			deb_ts("enabling full TS transfer\n");			flexcop_pid_group_filter(fc, 0,0);			flexcop_pid_group_filter_ctrl(fc,1);		}		if (fc->stream_control)			fc->stream_control(fc,1);		flexcop_rcv_data_ctrl(fc,1);	/* if there is no more feed left to feed */	} else if (fc->feedcount == onoff && !onoff) {		if (!fc->pid_filtering) {			deb_ts("disabling full TS transfer\n");			flexcop_pid_group_filter(fc, 0, 0x1fe0);			flexcop_pid_group_filter_ctrl(fc,0);		}		flexcop_rcv_data_ctrl(fc,0);		if (fc->stream_control)			fc->stream_control(fc,0);	}	/* if pid_filtering is on and more pids than the hw-filter can provide are	 * requested enable the whole bandwidth.	 */	if (fc->pid_filtering && fc->feedcount > max_pid_filter) {		flexcop_pid_group_filter(fc, 0,0);		flexcop_pid_group_filter_ctrl(fc,1);	} else if (fc->pid_filtering && fc->feedcount <= max_pid_filter) {		flexcop_pid_group_filter(fc, 0,0x1fe0);		flexcop_pid_group_filter_ctrl(fc,0);	}	return 0;}
10457	/local/tlutelli/issta_data/temp/c/2005_temp/2005/10457/c4ee3fd469302884dda95e1f310d5ffcd9f5acf9/flexcop-hw-filter.c/clean/drivers/media/dvb/b2c2/flexcop-hw-filter.c