summaryrefslogtreecommitdiff
path: root/packages/linux
diff options
context:
space:
mode:
authorRichard Purdie <rpurdie@rpsys.net>2006-05-06 17:53:07 +0000
committerOpenEmbedded Project <openembedded-devel@lists.openembedded.org>2006-05-06 17:53:07 +0000
commit574009f3b76ac859d173f5450b53a8b31d5ef1ca (patch)
tree0ab2716ec1e40025cea1fcdd443d16cce24f756d /packages/linux
parentb7c0b97dec8d44496972003a3258654945872d29 (diff)
parent90d7e5110319cc4ab6b5e47af5e989b58004ee2f (diff)
merge of 224e3cbcf014b8cd9406d30cb74a19c2d77cd5d6
and 253cbfe06dd468b449fb7cf63f7d91224be6c3d1
Diffstat (limited to 'packages/linux')
-rw-r--r--packages/linux/handhelds-pxa-2.6_cvs.bb3
-rw-r--r--packages/linux/ixp4xx-kernel_2.6.16.bb2
-rw-r--r--packages/linux/linux-openzaurus-2.6.16/defconfig-tosa2
-rw-r--r--packages/linux/linux-openzaurus-2.6.16/rmk-mmc1.patch61
-rw-r--r--packages/linux/linux-openzaurus-2.6.16/rmk-mmc2.patch26
-rw-r--r--packages/linux/linux-openzaurus_2.6.16.bb21
6 files changed, 104 insertions, 11 deletions
diff --git a/packages/linux/handhelds-pxa-2.6_cvs.bb b/packages/linux/handhelds-pxa-2.6_cvs.bb
index 0423268abe..e7df211acb 100644
--- a/packages/linux/handhelds-pxa-2.6_cvs.bb
+++ b/packages/linux/handhelds-pxa-2.6_cvs.bb
@@ -3,14 +3,13 @@ DESCRIPTION = "handhelds.org Linux kernel for PXA based devices."
MAINTAINER = "Greg Gilbert <greg@treke.net>"
LICENSE = "GPL"
PV = "${K_MAJOR}.${K_MINOR}.${K_MICRO}-hh${HHV}+cvs${SRCDATE}"
-PR = "r1"
+PR = "r2"
#
COMPATIBLE_HOST = "arm.*-linux"
FILESDIR = "${@os.path.dirname(bb.data.getVar('FILE',d,1))}/handhelds-pxa-${PV}"
SRC_URI = "${HANDHELDS_CVS};module=linux/kernel26 \
- file://eabi-enums.patch;patch=1 \
file://defconfig"
S = "${WORKDIR}/kernel26"
diff --git a/packages/linux/ixp4xx-kernel_2.6.16.bb b/packages/linux/ixp4xx-kernel_2.6.16.bb
index d4fe2dfa5c..ca8a64e9ed 100644
--- a/packages/linux/ixp4xx-kernel_2.6.16.bb
+++ b/packages/linux/ixp4xx-kernel_2.6.16.bb
@@ -3,7 +3,7 @@
# Increment PR_CONFIG for changes to the ixp4xx-kernel specific
# defconfig (do *NOT* increment anything in here for changes
# to other kernel configs!)
-PR_CONFIG = "1"
+PR_CONFIG = "2"
#
# Increment the number below (i.e. the digits after PR) when
# making changes within this file or for changes to the patches
diff --git a/packages/linux/linux-openzaurus-2.6.16/defconfig-tosa b/packages/linux/linux-openzaurus-2.6.16/defconfig-tosa
index 36dd3c7888..ed4cfd8cb3 100644
--- a/packages/linux/linux-openzaurus-2.6.16/defconfig-tosa
+++ b/packages/linux/linux-openzaurus-2.6.16/defconfig-tosa
@@ -1335,7 +1335,7 @@ CONFIG_RTC_INTF_DEV=y
# CONFIG_RTC_DRV_DS1672 is not set
# CONFIG_RTC_DRV_PCF8563 is not set
# CONFIG_RTC_DRV_RS5C372 is not set
-# CONFIG_RTC_DRV_SA1100 is not set
+CONFIG_RTC_DRV_SA1100=y
# CONFIG_RTC_DRV_TEST is not set
#
diff --git a/packages/linux/linux-openzaurus-2.6.16/rmk-mmc1.patch b/packages/linux/linux-openzaurus-2.6.16/rmk-mmc1.patch
new file mode 100644
index 0000000000..054b48d28d
--- /dev/null
+++ b/packages/linux/linux-openzaurus-2.6.16/rmk-mmc1.patch
@@ -0,0 +1,61 @@
+
+The CSD contains a "read2write factor" which determines the multiplier to
+be applied to the read timeout to obtain the write timeout. We were
+ignoring this parameter, resulting in the possibility for writes being
+timed out too early.
+
+Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
+
+diff --git a/drivers/mmc/mmc.c b/drivers/mmc/mmc.c
+--- a/drivers/mmc/mmc.c
++++ b/drivers/mmc/mmc.c
+@@ -549,6 +549,7 @@ static void mmc_decode_csd(struct mmc_ca
+ csd->read_partial = UNSTUFF_BITS(resp, 79, 1);
+ csd->write_misalign = UNSTUFF_BITS(resp, 78, 1);
+ csd->read_misalign = UNSTUFF_BITS(resp, 77, 1);
++ csd->r2w_factor = UNSTUFF_BITS(resp, 26, 3);
+ csd->write_blkbits = UNSTUFF_BITS(resp, 22, 4);
+ csd->write_partial = UNSTUFF_BITS(resp, 21, 1);
+ } else {
+@@ -583,6 +584,7 @@ static void mmc_decode_csd(struct mmc_ca
+ csd->read_partial = UNSTUFF_BITS(resp, 79, 1);
+ csd->write_misalign = UNSTUFF_BITS(resp, 78, 1);
+ csd->read_misalign = UNSTUFF_BITS(resp, 77, 1);
++ csd->r2w_factor = UNSTUFF_BITS(resp, 26, 3);
+ csd->write_blkbits = UNSTUFF_BITS(resp, 22, 4);
+ csd->write_partial = UNSTUFF_BITS(resp, 21, 1);
+ }
+diff --git a/drivers/mmc/mmc_block.c b/drivers/mmc/mmc_block.c
+--- a/drivers/mmc/mmc_block.c
++++ b/drivers/mmc/mmc_block.c
+@@ -187,6 +187,12 @@ static int mmc_blk_issue_rq(struct mmc_q
+ brq.cmd.opcode = MMC_WRITE_BLOCK;
+ brq.data.flags |= MMC_DATA_WRITE;
+ brq.data.blocks = 1;
++
++ /*
++ * Scale up the timeout by the r2w factor
++ */
++ brq.data.timeout_ns <<= card->csd.r2w_factor;
++ brq.data.timeout_clks <<= card->csd.r2w_factor;
+ }
+
+ if (brq.data.blocks > 1) {
+diff --git a/include/linux/mmc/card.h b/include/linux/mmc/card.h
+--- a/include/linux/mmc/card.h
++++ b/include/linux/mmc/card.h
+@@ -28,6 +28,7 @@ struct mmc_csd {
+ unsigned short cmdclass;
+ unsigned short tacc_clks;
+ unsigned int tacc_ns;
++ unsigned int r2w_factor;
+ unsigned int max_dtr;
+ unsigned int read_blkbits;
+ unsigned int write_blkbits;
+
+
+-------------------------------------------------------------------
+List admin: http://lists.arm.linux.org.uk/mailman/listinfo/linux-arm-kernel
+FAQ: http://www.arm.linux.org.uk/mailinglists/faq.php
+Etiquette: http://www.arm.linux.org.uk/mailinglists/etiquette.php
+
diff --git a/packages/linux/linux-openzaurus-2.6.16/rmk-mmc2.patch b/packages/linux/linux-openzaurus-2.6.16/rmk-mmc2.patch
new file mode 100644
index 0000000000..cef02436d6
--- /dev/null
+++ b/packages/linux/linux-openzaurus-2.6.16/rmk-mmc2.patch
@@ -0,0 +1,26 @@
+
+Always send a stop command at the end of a data transfer. If we avoid
+sending the stop command, some cards remain in data transfer mode, and
+refuse to accept further read/write commands.
+
+Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
+
+diff --git a/drivers/mmc/pxamci.c b/drivers/mmc/pxamci.c
+--- a/drivers/mmc/pxamci.c
++++ b/drivers/mmc/pxamci.c
+@@ -291,7 +291,7 @@ static int pxamci_data_done(struct pxamc
+ pxamci_disable_irq(host, DATA_TRAN_DONE);
+
+ host->data = NULL;
+- if (host->mrq->stop && data->error == MMC_ERR_NONE) {
++ if (host->mrq->stop) {
+ pxamci_stop_clock(host);
+ pxamci_start_cmd(host, host->mrq->stop, 0);
+ } else {
+
+
+-------------------------------------------------------------------
+List admin: http://lists.arm.linux.org.uk/mailman/listinfo/linux-arm-kernel
+FAQ: http://www.arm.linux.org.uk/mailinglists/faq.php
+Etiquette: http://www.arm.linux.org.uk/mailinglists/etiquette.php
+
diff --git a/packages/linux/linux-openzaurus_2.6.16.bb b/packages/linux/linux-openzaurus_2.6.16.bb
index b62bcba688..e37753ee16 100644
--- a/packages/linux/linux-openzaurus_2.6.16.bb
+++ b/packages/linux/linux-openzaurus_2.6.16.bb
@@ -1,6 +1,6 @@
include linux-openzaurus.inc
-PR = "r15"
+PR = "r20"
# Handy URLs
# git://rsync.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6.git \
@@ -13,6 +13,8 @@ PR = "r15"
# Patches submitted upstream are towards top of this list
# Hacks should clearly named and at the bottom
SRC_URI = "http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.16.tar.bz2 \
+ file://rmk-mmc1.patch;patch=1 \
+ file://rmk-mmc2.patch;patch=1 \
${RPSRC}/led_core-r15.patch;patch=1 \
${RPSRC}/led_triggers-r14.patch;patch=1 \
${RPSRC}/led_trig_timer-r8.patch;patch=1 \
@@ -115,14 +117,19 @@ SRC_URI_append_tosa = "\
${CHSRC}/tmio-nand-r5.patch;patch=1 \
${CHSRC}/tmio-ohci-r3.patch;patch=1 \
${CHSRC}/tmio-fb-r6.patch;patch=1 \
- ${DOSRC}/tosa-keyboard-r13.patch;patch=1 \
+ ${DOSRC}/tosa-keyboard-r14.patch;patch=1 \
${DOSRC}/tosa-pxaac97-r6.patch;patch=1 \
- ${RPSRC}/temp/tosa-tmio-r4-rp1.patch;patch=1 \
- ${DOSRC}/tosa-power-r14.patch;patch=1 \
- ${RPSRC}/tosa-tmio-lcd-r5-rp1.patch;patch=1 \
- ${DOSRC}/tosa-bluetooth-r5.patch;patch=1 \
+ ${DOSRC}/tosa-tmio-r6.patch;patch=1 \
+ ${DOSRC}/tosa-power-r15.patch;patch=1 \
+ ${DOSRC}/tosa-tmio-lcd-r7.patch;patch=1 \
+ ${DOSRC}/tosa-bluetooth-r6.patch;patch=1 \
${DOSRC}/wm97xx-lg7-r0.patch;patch=1 \
- ${DOSRC}/tosa-asoc-r0.patch;patch=1 "
+ ${DOSRC}/wm9712-suspend-cold-res-r0.patch;patch=1 \
+ ${DOSRC}/sharpsl-pm-postresume-r0.patch;patch=1 \
+ ${DOSRC}/wm97xx-dig-restore-r0.patch;patch=1 \
+ ${DOSRC}/wm97xx-miscdevs-resume-r0.patch;patch=1 \
+ ${DOSRC}/wm9712-reset-loop-r0.patch;patch=1 \
+ ${DOSRC}/tosa-asoc-r1.patch;patch=1 "
SRC_URI_append_poodle = "\
${RPSRC}/rp_poodle_hacks-r0.patch;patch=1"