Żaba

http://rere.qmqm.pl/

Tu znajdziesz łatki do programu linux-2.6 (linux kernel - 2.6 series).
http://www.kernel.org/

łatka: advantech-icomm-serial-26.diff
Signed-off-by: Michał Mirosław <mirq-linux@rere.qmqm.pl>
łatka: bridge-kill-hello-timer-on-no-stp.patch
Subject: [PATCH 2.6.23.1] Kill STP hello timer if STP is not enabled

Quick CPU eater kill. This might be not the best fix possible.

Without this patch, hello_timer is firing 250 times/sec and eating about
8% CPU time on my an otherwise idle system (dynticks enabled). 2.6.21.5 was
even worse - 20% (HZ=1000). (br->hello_time was supposedly 0 when STP was
disabled).

Signed-off-by: Michał Mirosław <mirq-linux@rere.qmqm.pl>
łatka: dwiter-01-scatterlist-28.patch
Subject: [PATCH 01/02] Wrappers for 32-bit PIO to/from scatterlist

Implement helpers for doing PIO transfers to/from scatter-gather buffers
using 32-bit accesses. Includes kernel-doc for public interface.

Signed-off-by: Michał Mirosław <mirq-linux@rere.qmqm.pl>
łatka: dwiter-02-sdhci-28.patch
Subject: [PATCH 02/02] mmc/sdhci: use PIO - scatterlist wrappers

Use sg_dwiter_*_io() in sdhci_*_block_pio(). This assumes that
buffer sizes are multiple of 4 when transferring more than one
block consecutively.

Signed-off-by: Michał Mirosław <mirq-linux@rere.qmqm.pl>
łatka: edac-e752x-fix-dram_nerr-race.patch
Subject: [PATCH] EDAC: e752x: fix DRAM_NERR read/write race

info->dram_nerr is read earlier in this function. If between that read
and this update more error bits get set, then they will be cleared without
checking. If that was the real intent here then writing 0xFFFF to
E752X_DRAM_NERR gives more predictable results.

Signed-off-by: Michał Mirosław <mirq-linux@rere.qmqm.pl>
łatka: icybox-ethernet-v8.patch
From: =?UTF-8?q?Micha=C5=82=20Miros=C5=82aw?= <mirq-linux@rere.qmqm.pl>
Subject: [PATCH v8] Gemini: Gigabit ethernet driver
To: Hans Ulli Kroll <ulli.kroll@googlemail.com>,
        gemini-board-dev@lists.berlios.de
Cc: Kevin Wilson <wkevils@gmail.com>
In-Reply-To: <20120815113436.GB10075@rere.qmqm.pl>

Driver for SL351x (Gemini) SoC ethernet peripheral. Based in part
on work by Paulius Zaleckas and GPLd code from Raidsonic and other
NAS vendors.

Tested on Raidsonic IcyBox 4220-B (dual SATA NAS).

Signed-off-by: Michał Mirosław <mirq-linux@rere.qmqm.pl>

---

Against: v3.6-rc1+

Note for testers: you may tweak DEFAULT_RX_BUF_ORDER (=log2(buffer size),
at most a page - so in range [6..12]) and RX_MAX_ALLOC_ORDER (max allocated
rx buffer page order) to find best memory usage/performance settings apart
from what is available via ethtool. For TX, there's not much you can do when
offloads are disabled.

MAC address needs to be set by userspace after parsing VCTL flash partition
(mtd4 on my box).

Later TODO:
 - netpoll (netconsole)
 - parse MAC address from flash settings and pass it through platform data
 - move TX completion to NAPI poll
 - implement rx copybreak

Changes from v7:
 - rebase to v3.6-rc1+
 - add MAINTAINERS entry

Changes from v6:
 - Kconfig: build-test the driver on other platforms
 - fix RX multicast filter
 - fix DMA API abuse for RX buffers

Changes from v5:
 - merge arch setup code into the patch
 - move platform data include to include/linux/platform_data/gemini_gmac.h
 - use new hw_features instead of ethtool_ops for offload setting
 - add some #ifdefs for build testing on other arches
 - a bit of cleanups

Changes from v4:
 - rebased on upcoming 2.6.38 (removal of page_to_dma() and per-txq stats)
 - removed setting last_rx and trans_start as that's handled by net core
 - changed __raw_read/writel() to read/writel()
 - added setting of AHB_WEIGHT register (didn't improve anything, I'm afraid)
 - fixed DMA unmapping bug
 - added limit of packet size for TX offload (HW checks only 13 bits of mtu_size field)
 - reduced RX_MAX_ALLOC_ORDER as it caused a lot of order 4 allocation failures
   under load
 - cleanups

Changes from v3:
 - fixed remaining tx_queue_len misuse bugs
 - bulk RX DMA page map/unmap
 - whitespace changes to make checkpatch happier (please ignore remaining
   complaints - long lines in .c and typedefs/whitespace/long lines in .h)

Changes from v2:
 - converted to page buffers and napi_gro_frags()
 - later IRQ acking and NAPI exits
 - larger rings by default
 - tx-interrupt coalescing
 - MTU changing
 - jumbo frames support
 - ringparam and coalesce settings via ethtool
 - more fixes/cleanups

Changes from v1:
 - fixed stats (now using u64_stats_sync; no-op on UP anyway)
 - pre-load mdio-gpio if built as module
 - disable TX checksum offload by default (unreliable HW)
 - convert to NAPI+GRO (netperf TCP STREAM RX test:
        before: 156mbit/s, now: 185mbit/s)
łatka: mtrr-0000-cover-letter.patch
Date: Wed, 9 Dec 2009 08:34:12 +0100
Subject: [PATCH 0/7] mtrr: cleanups and CONFIG_EMBEDDED usage
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Cc: Thomas Gleixner <tglx@linutronix.de>,
    Ingo Molnar <mingo@redhat.com>,
    "H. Peter Anvin" <hpa@zytor.com>,
    x86@kernel.org

A bit of code-cutting in MTRR handling for users of CONFIG_EMBEDDED.
Patches generated on top of current linux-2.6.git (commit 2b876f9...),
tested on 2.6.32 (Pentium4 machine only, all patches at once).

size arch/x86/kernel/cpu/mtrr/built-in.o (stats based on 2.6.32)
   text    data     bss     dec     hex
  13934    5340    8476   27750    6c66 before
  13931    5216    8436   27583    6bbf after (PROCESSOR_SELECT=n)
  11788    5188    8356   25332    62f4 after (CPU_SUP_INTEL=y only)

Best Regards,
Michał Mirosław

Michał Mirosław (7):
  x86/mtrr: Remove mtrr_ops[]
  mtrr: constify struct mtrr_ops
  mtrr: Remove use_intel()
  x86/Kconfig.cpu: add CPU_SUP_AMD_32 and CPU_SUP_CENTAUR_32
  mtrr: use CONFIG_CPU_SUP_* to select MTRR implementations
  mtrr: introduce HAVE_MTRR_VENDOR_SPECIFIC
  mtrr: mark mtrr_if as __read_mostly

 arch/x86/Kconfig                   |    3 ++
 arch/x86/Kconfig.cpu               |    9 ++++++
 arch/x86/kernel/cpu/mtrr/Makefile  |    4 ++-
 arch/x86/kernel/cpu/mtrr/amd.c     |    7 +----
 arch/x86/kernel/cpu/mtrr/centaur.c |    7 +----
 arch/x86/kernel/cpu/mtrr/cyrix.c   |    7 +----
 arch/x86/kernel/cpu/mtrr/generic.c |    3 +-
 arch/x86/kernel/cpu/mtrr/main.c    |   54 ++++++++++++-----------------------
 arch/x86/kernel/cpu/mtrr/mtrr.h    |   23 +++++++++++----
 arch/x86/kernel/cpu/mtrr/state.c   |   10 +++---
 10 files changed, 60 insertions(+), 67 deletions(-)
łatka: mtrr-0001-x86-mtrr-Remove-mtrr_ops.patch
Date: Wed, 9 Dec 2009 05:51:56 +0100
Subject: [PATCH 1/7] x86/mtrr: Remove mtrr_ops[]
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Cc: Thomas Gleixner <tglx@linutronix.de>,
    Ingo Molnar <mingo@redhat.com>,
    "H. Peter Anvin" <hpa@zytor.com>,
    x86@kernel.org

Remove mtrr_ops[] - it's contents are always the same and all this
registration thing only adds useless code.

Signed-off-by: Michał Mirosław <mirq-linux@rere.qmqm.pl>
---
 arch/x86/kernel/cpu/mtrr/amd.c     |    7 +------
 arch/x86/kernel/cpu/mtrr/centaur.c |    7 +------
 arch/x86/kernel/cpu/mtrr/cyrix.c   |    7 +------
 arch/x86/kernel/cpu/mtrr/main.c    |   32 +++++---------------------------
 arch/x86/kernel/cpu/mtrr/mtrr.h    |    7 +++++--
 5 files changed, 13 insertions(+), 47 deletions(-)
łatka: mtrr-0002-mtrr-constify-struct-mtrr_ops.patch
Date: Wed, 9 Dec 2009 05:57:29 +0100
Subject: [PATCH 2/7] mtrr: constify struct mtrr_ops
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Cc: Thomas Gleixner <tglx@linutronix.de>,
    Ingo Molnar <mingo@redhat.com>,
    "H. Peter Anvin" <hpa@zytor.com>,
    x86@kernel.org

Signed-off-by: Michał Mirosław <mirq-linux@rere.qmqm.pl>
---
 arch/x86/kernel/cpu/mtrr/amd.c     |    2 +-
 arch/x86/kernel/cpu/mtrr/centaur.c |    2 +-
 arch/x86/kernel/cpu/mtrr/cyrix.c   |    2 +-
 arch/x86/kernel/cpu/mtrr/generic.c |    2 +-
 arch/x86/kernel/cpu/mtrr/main.c    |    2 +-
 arch/x86/kernel/cpu/mtrr/mtrr.h    |   10 +++++-----
 6 files changed, 10 insertions(+), 10 deletions(-)
łatka: mtrr-0003-mtrr-Remove-use_intel.patch
Date: Wed, 9 Dec 2009 06:00:33 +0100
Subject: [PATCH 3/7] mtrr: Remove use_intel()
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Cc: Thomas Gleixner <tglx@linutronix.de>,
    Ingo Molnar <mingo@redhat.com>,
    "H. Peter Anvin" <hpa@zytor.com>,
    x86@kernel.org

Remove use_intel() and use is_cpu(INTEL) instead.

.use_intel_if is duplicating information already found in .vendor, as
the only combinations used are:
    generic: use_intel_if == 1, vendor == INTEL
    amd/cyrix/centaur: use_intel_if == 0, vendor != INTEL

Signed-off-by: Michał Mirosław <mirq-linux@rere.qmqm.pl>
---
 arch/x86/kernel/cpu/mtrr/generic.c |    1 -
 arch/x86/kernel/cpu/mtrr/main.c    |   14 +++++++-------
 arch/x86/kernel/cpu/mtrr/mtrr.h    |    2 --
 arch/x86/kernel/cpu/mtrr/state.c   |   10 +++++-----
 4 files changed, 12 insertions(+), 15 deletions(-)
łatka: mtrr-0004-x86-Kconfig.cpu-add-CPU_SUP_AMD_32-and-CPU_SUP_CENTA.patch
Date: Wed, 9 Dec 2009 06:04:39 +0100
Subject: [PATCH 4/7] x86/Kconfig.cpu: add CPU_SUP_AMD_32 and CPU_SUP_CENTAUR_32
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Cc: Thomas Gleixner <tglx@linutronix.de>,
    Ingo Molnar <mingo@redhat.com>,
    "H. Peter Anvin" <hpa@zytor.com>,
    x86@kernel.org

Add CPU_SUP_AMD_32 and CPU_SUP_CENTAUR_32. Used later in selecting
possible MTRR implementations.

Signed-off-by: Michał Mirosław <mirq-linux@rere.qmqm.pl>
---
 arch/x86/Kconfig.cpu |    6 ++++++
 1 files changed, 6 insertions(+), 0 deletions(-)
łatka: mtrr-0005-mtrr-use-CONFIG_CPU_SUP_-to-select-MTRR-implementati.patch
Date: Wed, 9 Dec 2009 06:10:43 +0100
Subject: [PATCH 5/7] mtrr: use CONFIG_CPU_SUP_* to select MTRR implementations
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Cc: Thomas Gleixner <tglx@linutronix.de>,
    Ingo Molnar <mingo@redhat.com>,
    "H. Peter Anvin" <hpa@zytor.com>,
    x86@kernel.org

Use CONFIG_CPU_SUP_* to select MTRR implementations. We let gcc
optimize out the empty switch statement if only generic implementation
is wanted.

Signed-off-by: Michał Mirosław <mirq-linux@rere.qmqm.pl>
---
 arch/x86/kernel/cpu/mtrr/Makefile |    4 +++-
 arch/x86/kernel/cpu/mtrr/main.c   |   10 ++++++++--
 2 files changed, 11 insertions(+), 3 deletions(-)
łatka: mtrr-0006-mtrr-introduce-HAVE_MTRR_VENDOR_SPECIFIC.patch
Date: Wed, 9 Dec 2009 06:17:52 +0100
Subject: [PATCH 6/7] mtrr: introduce HAVE_MTRR_VENDOR_SPECIFIC
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Cc: Thomas Gleixner <tglx@linutronix.de>,
    Ingo Molnar <mingo@redhat.com>,
    "H. Peter Anvin" <hpa@zytor.com>,
    x86@kernel.org

In case that only generic MTRR implementation is needed, tell gcc
to optimize out tests for other implementations. Also remove .vendor
from mtrr_ops in this configuration.

Signed-off-by: Michał Mirosław <mirq-linux@rere.qmqm.pl>
---
 arch/x86/Kconfig                |    3 +++
 arch/x86/Kconfig.cpu            |    3 +++
 arch/x86/kernel/cpu/mtrr/mtrr.h |   12 +++++++++++-
 3 files changed, 17 insertions(+), 1 deletions(-)
łatka: mtrr-0007-mtrr-mark-mtrr_if-as-__read_mostly.patch
Date: Wed, 9 Dec 2009 08:32:36 +0100
Subject: [PATCH 7/7] mtrr: mark mtrr_if as __read_mostly
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Cc: Thomas Gleixner <tglx@linutronix.de>,
    Ingo Molnar <mingo@redhat.com>,
    "H. Peter Anvin" <hpa@zytor.com>,
    x86@kernel.org

Signed-off-by: Michał Mirosław <mirq-linux@rere.qmqm.pl>
---
 arch/x86/kernel/cpu/mtrr/main.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)
łatka: pci-move-pci-write-bits-from-edac-core-h.patch
Subject: RFC: pci_write_bits*() convenience functions

There are a lot of code fragments in kernel looking like this:

u16 buf;
pci_read_config_word(pdev, offset, &buf);
buf &= ~mask;
buf |= value;
pci_write_config_word(pdev, offset, buf);

In in-kernel EDAC sources I found an implementation of pci_write_bits*()
that allows above 5 lines to be easily converted to:

pci_write_bits16(pdev, offset, value, mask);

Since this sequence is common while initializing a device or sometimes
during its normal operation I even wrote similar wrappers (see: driver
for CB710 memory card reader, posted about a month ago to LKML and
MMC mailinglists). I guess that there are more people hiding that
could use this.

This patch moves functions mentioned above to global include: linux/pci.h.
I verified that no users in EDAC code rely on the mask != (u16)(-1) test
and I think that plain pci_write_config_X() is better in cases where
this test is known to evaluate to false.

What's interesting, there are 2039 lines where pci_read_config_*() is used
and in only about 161 the return value is checked (as of current linux-2.6.git
tree: commit 3d44cc3e01..., quick grep test).

Best Regards,
Michał Mirosław

(Please Cc: me on reply to list.)
łatka: pci-write-bits-v2.patch
Subject: RFC: pci_write_bits*() convenience functions v.2

This is a version of the pci_write_bits*() with error checking included.

I don't know if you like the #defined function generator, but at
least this avoids copy-and-paste errors in case this needs some
changes in the future.

Signed-off-by: Michał Mirosław <mirq-linux@rere.qmqm.pl>
łatka: scsi-sysfs-error-text.diff
Subject: [PATCH] Make errors printed from scsi_sysfs_add_sdev() mean something.

This is an updated version of patch I wrote long time ago, but looks like
it didn't get far. Patch against linux-2.6.git. And yes - printk() lines
are longer than 80 chars - it shouldn't matter here (grep is happy ;).

Signed-off-by: Michał Mirosław <mirq-linux@rere.qmqm.pl>
łatka: serial-comment-fix-26.diff
Trivial comment fix for include/linux/serial_reg.h

Signed-off-by: Michał Mirosław <mirq-linux@rere.qmqm.pl>
łatka: sparc64-sabre-irq-table.diff
sparc64: Fix wrong table entry range #defines.

Signed-off-by: Michał Mirosław <mirq-linux@rere.qmqm.pl>