Merge branch 'samsung/driver' into next/drivers
Conflicts: arch/arm/mach-mxs/include/mach/common.h Pull in previous samsung conflict merges and do a trivial merge of an mxs double-add conflict. Signed-off-by: Arnd Bergmann <arnd@arndb.de>
This commit is contained in:
@@ -2606,6 +2606,9 @@ static int skge_up(struct net_device *dev)
|
||||
spin_unlock_irq(&hw->hw_lock);
|
||||
|
||||
napi_enable(&skge->napi);
|
||||
|
||||
skge_set_multicast(dev);
|
||||
|
||||
return 0;
|
||||
|
||||
free_tx_ring:
|
||||
|
||||
@@ -147,6 +147,7 @@ void mlx4_en_destroy_cq(struct mlx4_en_priv *priv, struct mlx4_en_cq *cq)
|
||||
mlx4_free_hwq_res(mdev->dev, &cq->wqres, cq->buf_size);
|
||||
if (priv->mdev->dev->caps.comp_pool && cq->vector)
|
||||
mlx4_release_eq(priv->mdev->dev, cq->vector);
|
||||
cq->vector = 0;
|
||||
cq->buf_size = 0;
|
||||
cq->buf = NULL;
|
||||
}
|
||||
|
||||
@@ -477,7 +477,6 @@ enum rtl_register_content {
|
||||
/* Config1 register p.24 */
|
||||
LEDS1 = (1 << 7),
|
||||
LEDS0 = (1 << 6),
|
||||
MSIEnable = (1 << 5), /* Enable Message Signaled Interrupt */
|
||||
Speed_down = (1 << 4),
|
||||
MEMMAP = (1 << 3),
|
||||
IOMAP = (1 << 2),
|
||||
@@ -485,6 +484,7 @@ enum rtl_register_content {
|
||||
PMEnable = (1 << 0), /* Power Management Enable */
|
||||
|
||||
/* Config2 register p. 25 */
|
||||
MSIEnable = (1 << 5), /* 8169 only. Reserved in the 8168. */
|
||||
PCI_Clock_66MHz = 0x01,
|
||||
PCI_Clock_33MHz = 0x00,
|
||||
|
||||
@@ -3426,22 +3426,24 @@ static const struct rtl_cfg_info {
|
||||
};
|
||||
|
||||
/* Cfg9346_Unlock assumed. */
|
||||
static unsigned rtl_try_msi(struct pci_dev *pdev, void __iomem *ioaddr,
|
||||
static unsigned rtl_try_msi(struct rtl8169_private *tp,
|
||||
const struct rtl_cfg_info *cfg)
|
||||
{
|
||||
void __iomem *ioaddr = tp->mmio_addr;
|
||||
unsigned msi = 0;
|
||||
u8 cfg2;
|
||||
|
||||
cfg2 = RTL_R8(Config2) & ~MSIEnable;
|
||||
if (cfg->features & RTL_FEATURE_MSI) {
|
||||
if (pci_enable_msi(pdev)) {
|
||||
dev_info(&pdev->dev, "no MSI. Back to INTx.\n");
|
||||
if (pci_enable_msi(tp->pci_dev)) {
|
||||
netif_info(tp, hw, tp->dev, "no MSI. Back to INTx.\n");
|
||||
} else {
|
||||
cfg2 |= MSIEnable;
|
||||
msi = RTL_FEATURE_MSI;
|
||||
}
|
||||
}
|
||||
RTL_W8(Config2, cfg2);
|
||||
if (tp->mac_version <= RTL_GIGA_MAC_VER_06)
|
||||
RTL_W8(Config2, cfg2);
|
||||
return msi;
|
||||
}
|
||||
|
||||
@@ -4077,7 +4079,7 @@ rtl8169_init_one(struct pci_dev *pdev, const struct pci_device_id *ent)
|
||||
tp->features |= RTL_FEATURE_WOL;
|
||||
if ((RTL_R8(Config5) & (UWF | BWF | MWF)) != 0)
|
||||
tp->features |= RTL_FEATURE_WOL;
|
||||
tp->features |= rtl_try_msi(pdev, ioaddr, cfg);
|
||||
tp->features |= rtl_try_msi(tp, cfg);
|
||||
RTL_W8(Cfg9346, Cfg9346_Lock);
|
||||
|
||||
if (rtl_tbi_enabled(tp)) {
|
||||
|
||||
@@ -836,11 +836,13 @@ int cpdma_chan_stop(struct cpdma_chan *chan)
|
||||
chan_write(chan, cp, CPDMA_TEARDOWN_VALUE);
|
||||
|
||||
/* handle completed packets */
|
||||
spin_unlock_irqrestore(&chan->lock, flags);
|
||||
do {
|
||||
ret = __cpdma_chan_process(chan);
|
||||
if (ret < 0)
|
||||
break;
|
||||
} while ((ret & CPDMA_DESC_TD_COMPLETE) == 0);
|
||||
spin_lock_irqsave(&chan->lock, flags);
|
||||
|
||||
/* remaining packets haven't been tx/rx'ed, clean them up */
|
||||
while (chan->head) {
|
||||
|
||||
Reference in New Issue
Block a user