← Back to team overview

kernel-packages team mailing list archive

[Bug 1454013] Re: Need support for Intel Braswell eMMC

 

Root cause was found and truns out only one patch could fix this issue,
reopen then.

** Description changed:

- Intel Braswell eMMC need some backports:
+ This patch could fix this issue, otherwise booting will take a very long
+ time.
  
- mmc: sdhci-acpi: Get UID directly from acpi_device
- mmc: sdhci-acpi: Pass HID and UID to probe_slot
- mmc: sdhci-acpi: Fix Braswell eMMC timeout clock frequency
- mmc: sdhci-acpi: add probe_slot method for emmc/sd/sdio
- mmc: card: Prevent partition scan for the eMMC boot areas
- mmc: sdhci-pci: Fix Braswell eMMC timeout clock frequency
- mmc: sdhci: Add PCI IDs for Intel Braswell
- mmc: sdhci: Let a driver override timeout clock frequency(have some conflicts)
+ mmc: card: Don't access RPMB partitions for normal read/write
+ During kernel boot, it will try to read some logical sectors
+ of each block device node for the possible partition table.
+ 
+ But since RPMB partition is special and can not be accessed
+ by normal eMMC read / write CMDs, it will cause below error
+ messages during kernel boot:
+ ...
+  mmc0: Got data interrupt 0x00000002 even though no data operation was in progress.
+  mmcblk0rpmb: error -110 transferring data, sector 0, nr 32, cmd response 0x900, card status 0xb00
+  mmcblk0rpmb: retrying using single block read
+  mmcblk0rpmb: timed out sending r/w cmd command, card status 0x400900
+  mmcblk0rpmb: timed out sending r/w cmd command, card status 0x400900
+  mmcblk0rpmb: timed out sending r/w cmd command, card status 0x400900
+  mmcblk0rpmb: timed out sending r/w cmd command, card status 0x400900
+  mmcblk0rpmb: timed out sending r/w cmd command, card status 0x400900
+  mmcblk0rpmb: timed out sending r/w cmd command, card status 0x400900
+  end_request: I/O error, dev mmcblk0rpmb, sector 0
+  Buffer I/O error on device mmcblk0rpmb, logical block 0
+  end_request: I/O error, dev mmcblk0rpmb, sector 8
+  Buffer I/O error on device mmcblk0rpmb, logical block 1
+  end_request: I/O error, dev mmcblk0rpmb, sector 16
+  Buffer I/O error on device mmcblk0rpmb, logical block 2
+  end_request: I/O error, dev mmcblk0rpmb, sector 24
+  Buffer I/O error on device mmcblk0rpmb, logical block 3
+ ...
+ 
+ This patch will discard the access request in eMMC queue if
+ it is RPMB partition access request. By this way, it avoids
+ trigger above error messages.
+ 
+ Fixes: 090d25fe224c ("mmc: core: Expose access to RPMB partition")
+ Signed-off-by: Yunpeng Gao <yunpeng.gao@xxxxxxxxx>
+ Signed-off-by: Chuanxiao Dong <chuanxiao.dong@xxxxxxxxx>
+ Tested-by: Michael Shigorin <mike@xxxxxxxxxxxx>
+ Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx>

** Summary changed:

- Need support for Intel Braswell eMMC
+ Booting takes very long time on Intel Braswell caused by eMMC

** Description changed:

- This patch could fix this issue, otherwise booting will take a very long
+ This patch could fix this issue, otherwise booting will take very long
  time.
  
  mmc: card: Don't access RPMB partitions for normal read/write
  During kernel boot, it will try to read some logical sectors
  of each block device node for the possible partition table.
  
  But since RPMB partition is special and can not be accessed
  by normal eMMC read / write CMDs, it will cause below error
  messages during kernel boot:
  ...
-  mmc0: Got data interrupt 0x00000002 even though no data operation was in progress.
-  mmcblk0rpmb: error -110 transferring data, sector 0, nr 32, cmd response 0x900, card status 0xb00
-  mmcblk0rpmb: retrying using single block read
-  mmcblk0rpmb: timed out sending r/w cmd command, card status 0x400900
-  mmcblk0rpmb: timed out sending r/w cmd command, card status 0x400900
-  mmcblk0rpmb: timed out sending r/w cmd command, card status 0x400900
-  mmcblk0rpmb: timed out sending r/w cmd command, card status 0x400900
-  mmcblk0rpmb: timed out sending r/w cmd command, card status 0x400900
-  mmcblk0rpmb: timed out sending r/w cmd command, card status 0x400900
-  end_request: I/O error, dev mmcblk0rpmb, sector 0
-  Buffer I/O error on device mmcblk0rpmb, logical block 0
-  end_request: I/O error, dev mmcblk0rpmb, sector 8
-  Buffer I/O error on device mmcblk0rpmb, logical block 1
-  end_request: I/O error, dev mmcblk0rpmb, sector 16
-  Buffer I/O error on device mmcblk0rpmb, logical block 2
-  end_request: I/O error, dev mmcblk0rpmb, sector 24
-  Buffer I/O error on device mmcblk0rpmb, logical block 3
+  mmc0: Got data interrupt 0x00000002 even though no data operation was in progress.
+  mmcblk0rpmb: error -110 transferring data, sector 0, nr 32, cmd response 0x900, card status 0xb00
+  mmcblk0rpmb: retrying using single block read
+  mmcblk0rpmb: timed out sending r/w cmd command, card status 0x400900
+  mmcblk0rpmb: timed out sending r/w cmd command, card status 0x400900
+  mmcblk0rpmb: timed out sending r/w cmd command, card status 0x400900
+  mmcblk0rpmb: timed out sending r/w cmd command, card status 0x400900
+  mmcblk0rpmb: timed out sending r/w cmd command, card status 0x400900
+  mmcblk0rpmb: timed out sending r/w cmd command, card status 0x400900
+  end_request: I/O error, dev mmcblk0rpmb, sector 0
+  Buffer I/O error on device mmcblk0rpmb, logical block 0
+  end_request: I/O error, dev mmcblk0rpmb, sector 8
+  Buffer I/O error on device mmcblk0rpmb, logical block 1
+  end_request: I/O error, dev mmcblk0rpmb, sector 16
+  Buffer I/O error on device mmcblk0rpmb, logical block 2
+  end_request: I/O error, dev mmcblk0rpmb, sector 24
+  Buffer I/O error on device mmcblk0rpmb, logical block 3
  ...
  
  This patch will discard the access request in eMMC queue if
  it is RPMB partition access request. By this way, it avoids
  trigger above error messages.
  
  Fixes: 090d25fe224c ("mmc: core: Expose access to RPMB partition")
  Signed-off-by: Yunpeng Gao <yunpeng.gao@xxxxxxxxx>
  Signed-off-by: Chuanxiao Dong <chuanxiao.dong@xxxxxxxxx>
  Tested-by: Michael Shigorin <mike@xxxxxxxxxxxx>
  Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx>

** Description changed:

  This patch could fix this issue, otherwise booting will take very long
  time.
  
+ 
+ 4e93b9a6abc0d028daf3c8a00cb77b679d8a4df4
  mmc: card: Don't access RPMB partitions for normal read/write
  During kernel boot, it will try to read some logical sectors
  of each block device node for the possible partition table.
  
  But since RPMB partition is special and can not be accessed
  by normal eMMC read / write CMDs, it will cause below error
  messages during kernel boot:
  ...
   mmc0: Got data interrupt 0x00000002 even though no data operation was in progress.
   mmcblk0rpmb: error -110 transferring data, sector 0, nr 32, cmd response 0x900, card status 0xb00
   mmcblk0rpmb: retrying using single block read
   mmcblk0rpmb: timed out sending r/w cmd command, card status 0x400900
   mmcblk0rpmb: timed out sending r/w cmd command, card status 0x400900
   mmcblk0rpmb: timed out sending r/w cmd command, card status 0x400900
   mmcblk0rpmb: timed out sending r/w cmd command, card status 0x400900
   mmcblk0rpmb: timed out sending r/w cmd command, card status 0x400900
   mmcblk0rpmb: timed out sending r/w cmd command, card status 0x400900
   end_request: I/O error, dev mmcblk0rpmb, sector 0
   Buffer I/O error on device mmcblk0rpmb, logical block 0
   end_request: I/O error, dev mmcblk0rpmb, sector 8
   Buffer I/O error on device mmcblk0rpmb, logical block 1
   end_request: I/O error, dev mmcblk0rpmb, sector 16
   Buffer I/O error on device mmcblk0rpmb, logical block 2
   end_request: I/O error, dev mmcblk0rpmb, sector 24
   Buffer I/O error on device mmcblk0rpmb, logical block 3
  ...
  
  This patch will discard the access request in eMMC queue if
  it is RPMB partition access request. By this way, it avoids
  trigger above error messages.
  
  Fixes: 090d25fe224c ("mmc: core: Expose access to RPMB partition")
  Signed-off-by: Yunpeng Gao <yunpeng.gao@xxxxxxxxx>
  Signed-off-by: Chuanxiao Dong <chuanxiao.dong@xxxxxxxxx>
  Tested-by: Michael Shigorin <mike@xxxxxxxxxxxx>
  Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx>

** Changed in: hwe-next
       Status: Won't Fix => In Progress

** Changed in: linux (Ubuntu)
       Status: Won't Fix => In Progress

** Changed in: linux (Ubuntu Trusty)
       Status: Won't Fix => In Progress

** Changed in: linux (Ubuntu Utopic)
       Status: Won't Fix => In Progress

-- 
You received this bug notification because you are a member of Kernel
Packages, which is subscribed to linux in Ubuntu.
https://bugs.launchpad.net/bugs/1454013

Title:
  Booting takes very long time on Intel Braswell caused by eMMC

Status in HWE Next Project:
  In Progress
Status in linux package in Ubuntu:
  In Progress
Status in linux source package in Trusty:
  In Progress
Status in linux source package in Utopic:
  In Progress

Bug description:
  This patch could fix this issue, otherwise booting will take very long
  time.

  
  4e93b9a6abc0d028daf3c8a00cb77b679d8a4df4
  mmc: card: Don't access RPMB partitions for normal read/write
  During kernel boot, it will try to read some logical sectors
  of each block device node for the possible partition table.

  But since RPMB partition is special and can not be accessed
  by normal eMMC read / write CMDs, it will cause below error
  messages during kernel boot:
  ...
   mmc0: Got data interrupt 0x00000002 even though no data operation was in progress.
   mmcblk0rpmb: error -110 transferring data, sector 0, nr 32, cmd response 0x900, card status 0xb00
   mmcblk0rpmb: retrying using single block read
   mmcblk0rpmb: timed out sending r/w cmd command, card status 0x400900
   mmcblk0rpmb: timed out sending r/w cmd command, card status 0x400900
   mmcblk0rpmb: timed out sending r/w cmd command, card status 0x400900
   mmcblk0rpmb: timed out sending r/w cmd command, card status 0x400900
   mmcblk0rpmb: timed out sending r/w cmd command, card status 0x400900
   mmcblk0rpmb: timed out sending r/w cmd command, card status 0x400900
   end_request: I/O error, dev mmcblk0rpmb, sector 0
   Buffer I/O error on device mmcblk0rpmb, logical block 0
   end_request: I/O error, dev mmcblk0rpmb, sector 8
   Buffer I/O error on device mmcblk0rpmb, logical block 1
   end_request: I/O error, dev mmcblk0rpmb, sector 16
   Buffer I/O error on device mmcblk0rpmb, logical block 2
   end_request: I/O error, dev mmcblk0rpmb, sector 24
   Buffer I/O error on device mmcblk0rpmb, logical block 3
  ...

  This patch will discard the access request in eMMC queue if
  it is RPMB partition access request. By this way, it avoids
  trigger above error messages.

  Fixes: 090d25fe224c ("mmc: core: Expose access to RPMB partition")
  Signed-off-by: Yunpeng Gao <yunpeng.gao@xxxxxxxxx>
  Signed-off-by: Chuanxiao Dong <chuanxiao.dong@xxxxxxxxx>
  Tested-by: Michael Shigorin <mike@xxxxxxxxxxxx>
  Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx>

To manage notifications about this bug go to:
https://bugs.launchpad.net/hwe-next/+bug/1454013/+subscriptions


References