[INFO] Kernel changes between 18.104.22.168 and 22.214.171.124
Right, so I did a quick diff between the kernel sources for these two releases, and here's what I found. I'd love some input from people with more knowledge than me on these things, especially the SD/MMC stuff, memory, etc.
(Note: A lot of this is just my assumptions, I could be completely wrong in a lot of cases
Added support for deadline and CFQ scheduler, as some have already reported.
Now defines two types of memory chips, Elpida and Micron. Both seem to be 800 MHz, so there's probably getting memory chips from both to have enough in supply. Only one difference in the structs, I don't have enough knowledge about the controller or chips to know what they are, atleast not without data sheets
Changes to the power rails GPIO pins for a signal called SDMMC3_DAT4. Pin is changed from NORMAL and INPUT to PULL_DOWN and OUTPUT. Seems to be related to an SD card/MMC controller, maybe something to do with the changes for UHS-1 SD cards?
DVFS tables updated, 1810 and 1900 MHz modes removed. They shouldn't have been there in the first place?
Changes to Bluetooth when waking from sleep. Mostly changes related to using a #define instead of a variable "factory_mode". There are some changes to how it stops the sleep mode protocol on the host though. Seems a GPIO pin was set wrong (switched around) in .22 and is now fixed.
- drivers/input/asusec/asusdec.c (and asusdec.h)
Support for audio dock and audio stand added. New accessories incoming or just some common code base shared with the Nexus 7? It does look like an actual implementation of audio accessories. The audio stand seems to be powered for charging the TF700 while the audio dock is battery powered? It checks for 0, 5, 12 and 15 volts anyway.
There's also a lot of hardcoded values and strings referencing the TF201 so it's very clear (and logical) that they've re-used driver code (and probably even firmware) from the TF201 and its dock.
Add code for easier debugging it seems. Some changes to the touchscreen driver for detecting power source change (no cable, USB and AC)? Due to the firmware update included in .26 perhaps?
Changes to the compass/magnetometer driver. Apparently the TF700 uses an Aichi AMI306 chip for the compass function.
Some changes in how it calibrates the sensor. The configuration file in /data/sensors/AMI304_Config.ini contains values for calibrating it, seems they've changed how it checks the calibration data.
The driver for enabling/disabling the BCM4329 radio(s)? Only a minor change checking a gpio shutdown pin before continuing, probably to avoid a deadlock somewhere?
Some changes to handling UHS-1 cards and it looks like they've done it by lowering the data rate its supposed to use.
Data rate set for a specific card type (probably UHS-1) is now defined as UHS_DDR41_MAX_DTR instead of a magic number 50000000 (which probably should've been UHS_DDR50_MAX_DTR?).
It also seems they've lowered the speed for UHS-1 cards from DDR50 to DDR41 (which itself seems to be a custom definition in include/linux/mmc/card.h). Are they having issues reading at the maximum data rate and have gone with a custom one?
They've added a low low (yes, low low) power check of the tablets battery. Seems to be polling the battery less when at low levels?
More references to an audio dock and audio stand. The stand seems to be AC powered.
Changes to the backlight driver. There seems to be two different panels used: Panasonic and Hydis. The Hydis one seems to have had a very long delay in status updates compared to the Panasonic one (235 vs 70).
New values are 35 ms for the Panasonic and 70 ms for the Hydis. Are some people having a much slower update of auto brightness than others?
Some minor changes to the display controller. Hard to tell what these do without digging further into the code or knowing more about the display controller, really. It seems to be writing some parameters to lines when enabling the controller?
The sound driver for the Realtek sound chip in the TF700 it seems. More audio dock stuff. Some changes to the audio routing and mixer, although some of it is mentioned twice, not sure why. Functionality for muting/unmuting the audio dock and retrieving status from the audio dock.
More audio dock stuff. Line out routing when audio docked and not.
- sound/soc/tegra/tegra30_ahub.c and sound/soc/tegra/tegra30_i2s.c
I2S RX/TX FIFO stuff. Judging by the use of I2S I'm guessing it's to do with the audio dock again. Streaming sound and/or controlling it probably.
More audio dock stuff. Signal routing for the audio.
So there you go. It's mostly changes related to the audio dock and audio stand, some changes to UHS-1 SD cards and a couple of tweaks and minor changes elsewhere.
I can't say I'm seeing any major changes as to why I/O performance would increase other than the schedulers, but it might also be a firmware change somewhere.
Lay down your soul to the Gods rock n roll!