mirror of https://github.com/hak5/openwrt.git
ipq40xx: speed up ath10k-caldata extraction
Reading and writing to and from flash storage is slow and currently, the ath10kcal_extract() scripts are even more at an disadvantage because they use a block size of 1 to be able skip. This patch reworks the extraction scripts to be much faster and efficient by reading and writing the calibration data in possibly one big block. before: (Tested on a RT-AC58U, which has SPI-NAND). # time dd if=/dev/ubi0_1 of=/lib/firmware/... bs=1 skip=4096 count=12064 12064+0 records in 12064+0 records out real 0m 0.28s user 0m 0.02s sys 0m 0.24s after: # time dd if=/dev/ubi0_1 of=/lib/firmware/... bs=12064 skip=4096 count=1 iflag=skip_bytes 1+0 records in 1+0 records out real 0m 0.01s user 0m 0.00s sys 0m 0.00s Signed-off-by: Christian Lamparter <chunkeey@gmail.com>openwrt-19.07
parent
0b373bf4d6
commit
a69e101ed1
|
@ -31,7 +31,7 @@ ath10kcal_extract() {
|
|||
[ -n "$mtd" ] || \
|
||||
ath10kcal_die "no mtd device found for partition $part"
|
||||
|
||||
dd if=$mtd of=/lib/firmware/$FIRMWARE bs=1 skip=$offset count=$count 2>/dev/null || \
|
||||
dd if=$mtd of=/lib/firmware/$FIRMWARE iflag=skip_bytes bs=$count skip=$offset count=1 2>/dev/null || \
|
||||
ath10kcal_die "failed to extract calibration data from $mtd"
|
||||
}
|
||||
|
||||
|
@ -49,7 +49,7 @@ ath10kcal_ubi_extract() {
|
|||
[ -n "$ubi" ] || \
|
||||
ath10kcal_die "no UBI volume found for $part"
|
||||
|
||||
dd if=/dev/$ubi of=/lib/firmware/$FIRMWARE bs=1 skip=$offset count=$count 2>/dev/null || \
|
||||
dd if=/dev/$ubi of=/lib/firmware/$FIRMWARE iflag=skip_bytes bs=$count skip=$offset count=1 2>/dev/null || \
|
||||
ath10kcal_die "failed to extract from $ubi"
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue