|
@@ -398,28 +398,23 @@ static void dvb_dmx_swfilter_packet(struct dvb_demux *demux, const u8 *buf)
|
|
|
int dvr_done = 0;
|
|
|
|
|
|
if (dvb_demux_speedcheck) {
|
|
|
- struct timespec cur_time, delta_time;
|
|
|
+ ktime_t cur_time;
|
|
|
u64 speed_bytes, speed_timedelta;
|
|
|
|
|
|
demux->speed_pkts_cnt++;
|
|
|
|
|
|
/* show speed every SPEED_PKTS_INTERVAL packets */
|
|
|
if (!(demux->speed_pkts_cnt % SPEED_PKTS_INTERVAL)) {
|
|
|
- cur_time = current_kernel_time();
|
|
|
+ cur_time = ktime_get();
|
|
|
|
|
|
- if (demux->speed_last_time.tv_sec != 0 &&
|
|
|
- demux->speed_last_time.tv_nsec != 0) {
|
|
|
- delta_time = timespec_sub(cur_time,
|
|
|
- demux->speed_last_time);
|
|
|
+ if (ktime_to_ns(demux->speed_last_time) != 0) {
|
|
|
speed_bytes = (u64)demux->speed_pkts_cnt
|
|
|
* 188 * 8;
|
|
|
/* convert to 1024 basis */
|
|
|
speed_bytes = 1000 * div64_u64(speed_bytes,
|
|
|
1024);
|
|
|
- speed_timedelta =
|
|
|
- (u64)timespec_to_ns(&delta_time);
|
|
|
- speed_timedelta = div64_u64(speed_timedelta,
|
|
|
- 1000000); /* nsec -> usec */
|
|
|
+ speed_timedelta = ktime_ms_delta(cur_time,
|
|
|
+ demux->speed_last_time);
|
|
|
printk(KERN_INFO "TS speed %llu Kbits/sec \n",
|
|
|
div64_u64(speed_bytes,
|
|
|
speed_timedelta));
|
|
@@ -666,7 +661,7 @@ out:
|
|
|
|
|
|
static int dmx_ts_feed_set(struct dmx_ts_feed *ts_feed, u16 pid, int ts_type,
|
|
|
enum dmx_ts_pes pes_type,
|
|
|
- size_t circular_buffer_size, struct timespec timeout)
|
|
|
+ size_t circular_buffer_size, ktime_t timeout)
|
|
|
{
|
|
|
struct dvb_demux_feed *feed = (struct dvb_demux_feed *)ts_feed;
|
|
|
struct dvb_demux *demux = feed->demux;
|