You've already forked linux-apfs
mirror of
https://github.com/linux-apfs/linux-apfs.git
synced 2026-05-01 15:00:59 -07:00
Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/torvalds/linux-2.6
Conflicts: sound/core/memalloc.c
This commit is contained in:
+1
-1
@@ -1270,7 +1270,7 @@ static int comp_tx(struct eni_dev *eni_dev,int *pcr,int reserved,int *pre,
|
||||
if (*pre < 3) (*pre)++; /* else fail later */
|
||||
div = pre_div[*pre]*-*pcr;
|
||||
DPRINTK("max div %d\n",div);
|
||||
*res = (TS_CLOCK+div-1)/div-1;
|
||||
*res = DIV_ROUND_UP(TS_CLOCK, div)-1;
|
||||
}
|
||||
if (*res < 0) *res = 0;
|
||||
if (*res > MID_SEG_MAX_RATE) *res = MID_SEG_MAX_RATE;
|
||||
|
||||
@@ -635,7 +635,7 @@ static int make_rate (const hrz_dev * dev, u32 c, rounding r,
|
||||
// take care of rounding
|
||||
switch (r) {
|
||||
case round_down:
|
||||
pre = (br+(c<<div)-1)/(c<<div);
|
||||
pre = DIV_ROUND_UP(br, c<<div);
|
||||
// but p must be non-zero
|
||||
if (!pre)
|
||||
pre = 1;
|
||||
@@ -668,7 +668,7 @@ static int make_rate (const hrz_dev * dev, u32 c, rounding r,
|
||||
// take care of rounding
|
||||
switch (r) {
|
||||
case round_down:
|
||||
pre = (br+(c<<div)-1)/(c<<div);
|
||||
pre = DIV_ROUND_UP(br, c<<div);
|
||||
break;
|
||||
case round_nearest:
|
||||
pre = (br+(c<<div)/2)/(c<<div);
|
||||
@@ -698,7 +698,7 @@ got_it:
|
||||
if (bits)
|
||||
*bits = (div<<CLOCK_SELECT_SHIFT) | (pre-1);
|
||||
if (actual) {
|
||||
*actual = (br + (pre<<div) - 1) / (pre<<div);
|
||||
*actual = DIV_ROUND_UP(br, pre<<div);
|
||||
PRINTD (DBG_QOS, "actual rate: %u", *actual);
|
||||
}
|
||||
return 0;
|
||||
@@ -1967,7 +1967,7 @@ static int __devinit hrz_init (hrz_dev * dev) {
|
||||
// Set the max AAL5 cell count to be just enough to contain the
|
||||
// largest AAL5 frame that the user wants to receive
|
||||
wr_regw (dev, MAX_AAL5_CELL_COUNT_OFF,
|
||||
(max_rx_size + ATM_AAL5_TRAILER + ATM_CELL_PAYLOAD - 1) / ATM_CELL_PAYLOAD);
|
||||
DIV_ROUND_UP(max_rx_size + ATM_AAL5_TRAILER, ATM_CELL_PAYLOAD));
|
||||
|
||||
// Enable receive
|
||||
wr_regw (dev, RX_CONFIG_OFF, rd_regw (dev, RX_CONFIG_OFF) | RX_ENABLE);
|
||||
|
||||
+9
-23
@@ -1114,11 +1114,8 @@ dequeue_rx(struct idt77252_dev *card, struct rsq_entry *rsqe)
|
||||
|
||||
rpp = &vc->rcv.rx_pool;
|
||||
|
||||
__skb_queue_tail(&rpp->queue, skb);
|
||||
rpp->len += skb->len;
|
||||
if (!rpp->count++)
|
||||
rpp->first = skb;
|
||||
*rpp->last = skb;
|
||||
rpp->last = &skb->next;
|
||||
|
||||
if (stat & SAR_RSQE_EPDU) {
|
||||
unsigned char *l1l2;
|
||||
@@ -1145,7 +1142,7 @@ dequeue_rx(struct idt77252_dev *card, struct rsq_entry *rsqe)
|
||||
atomic_inc(&vcc->stats->rx_err);
|
||||
return;
|
||||
}
|
||||
if (rpp->count > 1) {
|
||||
if (skb_queue_len(&rpp->queue) > 1) {
|
||||
struct sk_buff *sb;
|
||||
|
||||
skb = dev_alloc_skb(rpp->len);
|
||||
@@ -1161,12 +1158,9 @@ dequeue_rx(struct idt77252_dev *card, struct rsq_entry *rsqe)
|
||||
dev_kfree_skb(skb);
|
||||
return;
|
||||
}
|
||||
sb = rpp->first;
|
||||
for (i = 0; i < rpp->count; i++) {
|
||||
skb_queue_walk(&rpp->queue, sb)
|
||||
memcpy(skb_put(skb, sb->len),
|
||||
sb->data, sb->len);
|
||||
sb = sb->next;
|
||||
}
|
||||
|
||||
recycle_rx_pool_skb(card, rpp);
|
||||
|
||||
@@ -1180,7 +1174,6 @@ dequeue_rx(struct idt77252_dev *card, struct rsq_entry *rsqe)
|
||||
return;
|
||||
}
|
||||
|
||||
skb->next = NULL;
|
||||
flush_rx_pool(card, rpp);
|
||||
|
||||
if (!atm_charge(vcc, skb->truesize)) {
|
||||
@@ -1918,25 +1911,18 @@ recycle_rx_skb(struct idt77252_dev *card, struct sk_buff *skb)
|
||||
static void
|
||||
flush_rx_pool(struct idt77252_dev *card, struct rx_pool *rpp)
|
||||
{
|
||||
skb_queue_head_init(&rpp->queue);
|
||||
rpp->len = 0;
|
||||
rpp->count = 0;
|
||||
rpp->first = NULL;
|
||||
rpp->last = &rpp->first;
|
||||
}
|
||||
|
||||
static void
|
||||
recycle_rx_pool_skb(struct idt77252_dev *card, struct rx_pool *rpp)
|
||||
{
|
||||
struct sk_buff *skb, *next;
|
||||
int i;
|
||||
struct sk_buff *skb, *tmp;
|
||||
|
||||
skb = rpp->first;
|
||||
for (i = 0; i < rpp->count; i++) {
|
||||
next = skb->next;
|
||||
skb->next = NULL;
|
||||
skb_queue_walk_safe(&rpp->queue, skb, tmp)
|
||||
recycle_rx_skb(card, skb);
|
||||
skb = next;
|
||||
}
|
||||
|
||||
flush_rx_pool(card, rpp);
|
||||
}
|
||||
|
||||
@@ -2537,7 +2523,7 @@ idt77252_close(struct atm_vcc *vcc)
|
||||
waitfor_idle(card);
|
||||
spin_unlock_irqrestore(&card->cmd_lock, flags);
|
||||
|
||||
if (vc->rcv.rx_pool.count) {
|
||||
if (skb_queue_len(&vc->rcv.rx_pool.queue) != 0) {
|
||||
DPRINTK("%s: closing a VC with pending rx buffers.\n",
|
||||
card->name);
|
||||
|
||||
@@ -2970,7 +2956,7 @@ close_card_oam(struct idt77252_dev *card)
|
||||
waitfor_idle(card);
|
||||
spin_unlock_irqrestore(&card->cmd_lock, flags);
|
||||
|
||||
if (vc->rcv.rx_pool.count) {
|
||||
if (skb_queue_len(&vc->rcv.rx_pool.queue) != 0) {
|
||||
DPRINTK("%s: closing a VC "
|
||||
"with pending rx buffers.\n",
|
||||
card->name);
|
||||
|
||||
@@ -173,10 +173,8 @@ struct scq_info
|
||||
};
|
||||
|
||||
struct rx_pool {
|
||||
struct sk_buff *first;
|
||||
struct sk_buff **last;
|
||||
struct sk_buff_head queue;
|
||||
unsigned int len;
|
||||
unsigned int count;
|
||||
};
|
||||
|
||||
struct aal1 {
|
||||
|
||||
+3
-3
@@ -496,8 +496,8 @@ static int open_rx_first(struct atm_vcc *vcc)
|
||||
vcc->qos.rxtp.max_sdu = 65464;
|
||||
/* fix this - we may want to receive 64kB SDUs
|
||||
later */
|
||||
cells = (vcc->qos.rxtp.max_sdu+ATM_AAL5_TRAILER+
|
||||
ATM_CELL_PAYLOAD-1)/ATM_CELL_PAYLOAD;
|
||||
cells = DIV_ROUND_UP(vcc->qos.rxtp.max_sdu + ATM_AAL5_TRAILER,
|
||||
ATM_CELL_PAYLOAD);
|
||||
zatm_vcc->pool = pool_index(cells*ATM_CELL_PAYLOAD);
|
||||
}
|
||||
else {
|
||||
@@ -820,7 +820,7 @@ static int alloc_shaper(struct atm_dev *dev,int *pcr,int min,int max,int ubr)
|
||||
}
|
||||
else {
|
||||
i = 255;
|
||||
m = (ATM_OC3_PCR*255+max-1)/max;
|
||||
m = DIV_ROUND_UP(ATM_OC3_PCR*255, max);
|
||||
}
|
||||
}
|
||||
if (i > m) {
|
||||
|
||||
Reference in New Issue
Block a user