mirror of
https://github.com/team-infusion-developers/android_kernel_samsung_msm8976.git
synced 2024-10-08 20:53:19 +00:00
Merge branch 'upstream'
This commit is contained in:
commit
e7fb585940
10 changed files with 59 additions and 14 deletions
|
@ -633,6 +633,14 @@ running once the system is up.
|
||||||
inport.irq= [HW] Inport (ATI XL and Microsoft) busmouse driver
|
inport.irq= [HW] Inport (ATI XL and Microsoft) busmouse driver
|
||||||
Format: <irq>
|
Format: <irq>
|
||||||
|
|
||||||
|
combined_mode= [HW] control which driver uses IDE ports in combined
|
||||||
|
mode: legacy IDE driver, libata, or both
|
||||||
|
(in the libata case, libata.atapi_enabled=1 may be
|
||||||
|
useful as well). Note that using the ide or libata
|
||||||
|
options may affect your device naming (e.g. by
|
||||||
|
changing hdc to sdb).
|
||||||
|
Format: combined (default), ide, or libata
|
||||||
|
|
||||||
inttest= [IA64]
|
inttest= [IA64]
|
||||||
|
|
||||||
io7= [HW] IO7 for Marvel based alpha systems
|
io7= [HW] IO7 for Marvel based alpha systems
|
||||||
|
|
|
@ -2280,7 +2280,7 @@ static int skge_xmit_frame(struct sk_buff *skb, struct net_device *dev)
|
||||||
}
|
}
|
||||||
|
|
||||||
if (unlikely(skge->tx_avail < skb_shinfo(skb)->nr_frags +1)) {
|
if (unlikely(skge->tx_avail < skb_shinfo(skb)->nr_frags +1)) {
|
||||||
if (!netif_stopped(dev)) {
|
if (!netif_queue_stopped(dev)) {
|
||||||
netif_stop_queue(dev);
|
netif_stop_queue(dev);
|
||||||
|
|
||||||
printk(KERN_WARNING PFX "%s: ring full when queue awake!\n",
|
printk(KERN_WARNING PFX "%s: ring full when queue awake!\n",
|
||||||
|
|
|
@ -1098,6 +1098,23 @@ static void __init quirk_alder_ioapic(struct pci_dev *pdev)
|
||||||
DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_EESSC, quirk_alder_ioapic );
|
DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_EESSC, quirk_alder_ioapic );
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
enum ide_combined_type { COMBINED = 0, IDE = 1, LIBATA = 2 };
|
||||||
|
/* Defaults to combined */
|
||||||
|
static enum ide_combined_type combined_mode;
|
||||||
|
|
||||||
|
static int __init combined_setup(char *str)
|
||||||
|
{
|
||||||
|
if (!strncmp(str, "ide", 3))
|
||||||
|
combined_mode = IDE;
|
||||||
|
else if (!strncmp(str, "libata", 6))
|
||||||
|
combined_mode = LIBATA;
|
||||||
|
else /* "combined" or anything else defaults to old behavior */
|
||||||
|
combined_mode = COMBINED;
|
||||||
|
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
__setup("combined_mode=", combined_setup);
|
||||||
|
|
||||||
#ifdef CONFIG_SCSI_SATA_INTEL_COMBINED
|
#ifdef CONFIG_SCSI_SATA_INTEL_COMBINED
|
||||||
static void __devinit quirk_intel_ide_combined(struct pci_dev *pdev)
|
static void __devinit quirk_intel_ide_combined(struct pci_dev *pdev)
|
||||||
{
|
{
|
||||||
|
@ -1164,6 +1181,19 @@ static void __devinit quirk_intel_ide_combined(struct pci_dev *pdev)
|
||||||
if (prog & comb)
|
if (prog & comb)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
|
/* Don't reserve any so the IDE driver can get them (but only if
|
||||||
|
* combined_mode=ide).
|
||||||
|
*/
|
||||||
|
if (combined_mode == IDE)
|
||||||
|
return;
|
||||||
|
|
||||||
|
/* Grab them both for libata if combined_mode=libata. */
|
||||||
|
if (combined_mode == LIBATA) {
|
||||||
|
request_region(0x1f0, 8, "libata"); /* port 0 */
|
||||||
|
request_region(0x170, 8, "libata"); /* port 1 */
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
/* SATA port is in legacy mode. Reserve port so that
|
/* SATA port is in legacy mode. Reserve port so that
|
||||||
* IDE driver does not attempt to use it. If request_region
|
* IDE driver does not attempt to use it. If request_region
|
||||||
* fails, it will be obvious at boot time, so we don't bother
|
* fails, it will be obvious at boot time, so we don't bother
|
||||||
|
|
|
@ -2169,9 +2169,12 @@ ata_scsi_find_dev(struct ata_port *ap, const struct scsi_device *scsidev)
|
||||||
if (unlikely(!ata_dev_present(dev)))
|
if (unlikely(!ata_dev_present(dev)))
|
||||||
return NULL;
|
return NULL;
|
||||||
|
|
||||||
if (!atapi_enabled) {
|
if (!atapi_enabled || (ap->flags & ATA_FLAG_NO_ATAPI)) {
|
||||||
if (unlikely(dev->class == ATA_DEV_ATAPI))
|
if (unlikely(dev->class == ATA_DEV_ATAPI)) {
|
||||||
|
printk(KERN_WARNING "ata%u(%u): WARNING: ATAPI is %s, device ignored.\n",
|
||||||
|
ap->id, dev->devno, atapi_enabled ? "not supported with this driver" : "disabled");
|
||||||
return NULL;
|
return NULL;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return dev;
|
return dev;
|
||||||
|
|
|
@ -86,7 +86,8 @@ enum {
|
||||||
MV_FLAG_DUAL_HC = (1 << 30), /* two SATA Host Controllers */
|
MV_FLAG_DUAL_HC = (1 << 30), /* two SATA Host Controllers */
|
||||||
MV_FLAG_IRQ_COALESCE = (1 << 29), /* IRQ coalescing capability */
|
MV_FLAG_IRQ_COALESCE = (1 << 29), /* IRQ coalescing capability */
|
||||||
MV_COMMON_FLAGS = (ATA_FLAG_SATA | ATA_FLAG_NO_LEGACY |
|
MV_COMMON_FLAGS = (ATA_FLAG_SATA | ATA_FLAG_NO_LEGACY |
|
||||||
ATA_FLAG_SATA_RESET | ATA_FLAG_MMIO),
|
ATA_FLAG_SATA_RESET | ATA_FLAG_MMIO |
|
||||||
|
ATA_FLAG_NO_ATAPI),
|
||||||
MV_6XXX_FLAGS = MV_FLAG_IRQ_COALESCE,
|
MV_6XXX_FLAGS = MV_FLAG_IRQ_COALESCE,
|
||||||
|
|
||||||
CRQB_FLAG_READ = (1 << 0),
|
CRQB_FLAG_READ = (1 << 0),
|
||||||
|
|
|
@ -70,6 +70,9 @@ enum {
|
||||||
PDC_HAS_PATA = (1 << 1), /* PDC20375 has PATA */
|
PDC_HAS_PATA = (1 << 1), /* PDC20375 has PATA */
|
||||||
|
|
||||||
PDC_RESET = (1 << 11), /* HDMA reset */
|
PDC_RESET = (1 << 11), /* HDMA reset */
|
||||||
|
|
||||||
|
PDC_COMMON_FLAGS = ATA_FLAG_NO_LEGACY | ATA_FLAG_SRST |
|
||||||
|
ATA_FLAG_MMIO | ATA_FLAG_NO_ATAPI,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
@ -162,8 +165,7 @@ static const struct ata_port_info pdc_port_info[] = {
|
||||||
/* board_2037x */
|
/* board_2037x */
|
||||||
{
|
{
|
||||||
.sht = &pdc_ata_sht,
|
.sht = &pdc_ata_sht,
|
||||||
.host_flags = ATA_FLAG_SATA | ATA_FLAG_NO_LEGACY |
|
.host_flags = PDC_COMMON_FLAGS | ATA_FLAG_SATA,
|
||||||
ATA_FLAG_SRST | ATA_FLAG_MMIO,
|
|
||||||
.pio_mask = 0x1f, /* pio0-4 */
|
.pio_mask = 0x1f, /* pio0-4 */
|
||||||
.mwdma_mask = 0x07, /* mwdma0-2 */
|
.mwdma_mask = 0x07, /* mwdma0-2 */
|
||||||
.udma_mask = 0x7f, /* udma0-6 ; FIXME */
|
.udma_mask = 0x7f, /* udma0-6 ; FIXME */
|
||||||
|
@ -173,8 +175,7 @@ static const struct ata_port_info pdc_port_info[] = {
|
||||||
/* board_20319 */
|
/* board_20319 */
|
||||||
{
|
{
|
||||||
.sht = &pdc_ata_sht,
|
.sht = &pdc_ata_sht,
|
||||||
.host_flags = ATA_FLAG_SATA | ATA_FLAG_NO_LEGACY |
|
.host_flags = PDC_COMMON_FLAGS | ATA_FLAG_SATA,
|
||||||
ATA_FLAG_SRST | ATA_FLAG_MMIO,
|
|
||||||
.pio_mask = 0x1f, /* pio0-4 */
|
.pio_mask = 0x1f, /* pio0-4 */
|
||||||
.mwdma_mask = 0x07, /* mwdma0-2 */
|
.mwdma_mask = 0x07, /* mwdma0-2 */
|
||||||
.udma_mask = 0x7f, /* udma0-6 ; FIXME */
|
.udma_mask = 0x7f, /* udma0-6 ; FIXME */
|
||||||
|
@ -184,8 +185,7 @@ static const struct ata_port_info pdc_port_info[] = {
|
||||||
/* board_20619 */
|
/* board_20619 */
|
||||||
{
|
{
|
||||||
.sht = &pdc_ata_sht,
|
.sht = &pdc_ata_sht,
|
||||||
.host_flags = ATA_FLAG_NO_LEGACY | ATA_FLAG_SRST |
|
.host_flags = PDC_COMMON_FLAGS | ATA_FLAG_SLAVE_POSS,
|
||||||
ATA_FLAG_MMIO | ATA_FLAG_SLAVE_POSS,
|
|
||||||
.pio_mask = 0x1f, /* pio0-4 */
|
.pio_mask = 0x1f, /* pio0-4 */
|
||||||
.mwdma_mask = 0x07, /* mwdma0-2 */
|
.mwdma_mask = 0x07, /* mwdma0-2 */
|
||||||
.udma_mask = 0x7f, /* udma0-6 ; FIXME */
|
.udma_mask = 0x7f, /* udma0-6 ; FIXME */
|
||||||
|
|
|
@ -220,7 +220,8 @@ static const struct ata_port_info pdc_port_info[] = {
|
||||||
{
|
{
|
||||||
.sht = &pdc_sata_sht,
|
.sht = &pdc_sata_sht,
|
||||||
.host_flags = ATA_FLAG_SATA | ATA_FLAG_NO_LEGACY |
|
.host_flags = ATA_FLAG_SATA | ATA_FLAG_NO_LEGACY |
|
||||||
ATA_FLAG_SRST | ATA_FLAG_MMIO,
|
ATA_FLAG_SRST | ATA_FLAG_MMIO |
|
||||||
|
ATA_FLAG_NO_ATAPI,
|
||||||
.pio_mask = 0x1f, /* pio0-4 */
|
.pio_mask = 0x1f, /* pio0-4 */
|
||||||
.mwdma_mask = 0x07, /* mwdma0-2 */
|
.mwdma_mask = 0x07, /* mwdma0-2 */
|
||||||
.udma_mask = 0x7f, /* udma0-6 ; FIXME */
|
.udma_mask = 0x7f, /* udma0-6 ; FIXME */
|
||||||
|
|
|
@ -320,7 +320,8 @@ typedef struct sal_log_timestamp {
|
||||||
typedef struct sal_log_record_header {
|
typedef struct sal_log_record_header {
|
||||||
u64 id; /* Unique monotonically increasing ID */
|
u64 id; /* Unique monotonically increasing ID */
|
||||||
sal_log_revision_t revision; /* Major and Minor revision of header */
|
sal_log_revision_t revision; /* Major and Minor revision of header */
|
||||||
u16 severity; /* Error Severity */
|
u8 severity; /* Error Severity */
|
||||||
|
u8 validation_bits; /* 0: platform_guid, 1: !timestamp */
|
||||||
u32 len; /* Length of this error log in bytes */
|
u32 len; /* Length of this error log in bytes */
|
||||||
sal_log_timestamp_t timestamp; /* Timestamp */
|
sal_log_timestamp_t timestamp; /* Timestamp */
|
||||||
efi_guid_t platform_guid; /* Unique OEM Platform ID */
|
efi_guid_t platform_guid; /* Unique OEM Platform ID */
|
||||||
|
|
|
@ -122,6 +122,7 @@ enum {
|
||||||
ATA_FLAG_NOINTR = (1 << 9), /* FIXME: Remove this once
|
ATA_FLAG_NOINTR = (1 << 9), /* FIXME: Remove this once
|
||||||
* proper HSM is in place. */
|
* proper HSM is in place. */
|
||||||
ATA_FLAG_DEBUGMSG = (1 << 10),
|
ATA_FLAG_DEBUGMSG = (1 << 10),
|
||||||
|
ATA_FLAG_NO_ATAPI = (1 << 11), /* No ATAPI support */
|
||||||
|
|
||||||
ATA_QCFLAG_ACTIVE = (1 << 1), /* cmd not yet ack'd to scsi lyer */
|
ATA_QCFLAG_ACTIVE = (1 << 1), /* cmd not yet ack'd to scsi lyer */
|
||||||
ATA_QCFLAG_SG = (1 << 3), /* have s/g table? */
|
ATA_QCFLAG_SG = (1 << 3), /* have s/g table? */
|
||||||
|
|
|
@ -206,7 +206,7 @@ config HOTPLUG
|
||||||
outside the kernel tree does. Such modules require Y here.
|
outside the kernel tree does. Such modules require Y here.
|
||||||
|
|
||||||
config KOBJECT_UEVENT
|
config KOBJECT_UEVENT
|
||||||
bool "Kernel Userspace Events"
|
bool "Kernel Userspace Events" if EMBEDDED
|
||||||
depends on NET
|
depends on NET
|
||||||
default y
|
default y
|
||||||
help
|
help
|
||||||
|
@ -339,7 +339,7 @@ config EPOLL
|
||||||
support for epoll family of system calls.
|
support for epoll family of system calls.
|
||||||
|
|
||||||
config CC_OPTIMIZE_FOR_SIZE
|
config CC_OPTIMIZE_FOR_SIZE
|
||||||
bool "Optimize for size" if EMBEDDED
|
bool "Optimize for size"
|
||||||
default y if ARM || H8300
|
default y if ARM || H8300
|
||||||
help
|
help
|
||||||
Enabling this option will pass "-Os" instead of "-O2" to gcc
|
Enabling this option will pass "-Os" instead of "-O2" to gcc
|
||||||
|
|
Loading…
Reference in a new issue