device_google_raviole/conf/init.raven.rc
André Draszik e3f5d8ab1c powerhint: provide android-mainline versions for Oriole & Raven
The android-mainline kernel doesn't provide the scheduler vendor hooks,
and therefore the pixel drivers don't expose anything below
/proc/vendor_sched/. This causes powerpower-libperfmgr to emit *a lot*
of warnings to logcat regarding failures to write to nodes below
/proc/vendor_sched/.

As a solution, provide a -mainline version of powerhint.json for the
two platforms supported by android-mainline.
The new files are based on revision f56bbd1bfb ("disable vendor idle
balancer") of powerhint.json and have all nodes and actions referring
to /proc/vendor_sched/ removed using the following jq commands:
    for f in powerhint-oriole.json powerhint-raven.json ; do \
        fdst="$(basename "${f}" .json)-mainline.json"
        names=$(jq '."Nodes"[] | select(."Path" | startswith("/proc/vendor_sched/")).Name' "${f}" \
                | tr '\n' ' ' \
                | sed -e 's|" "|", "|g')
        jq '. | del( ."Actions"[] | select(."Node"==('"${names}"')))' "${f}" > "${fdst}"
        jq '. | del( ."Nodes"[] | select(."Path" | startswith("/proc/vendor_sched/")) )' "${fdst}" > "${fdst}2"
        mv "${fdst}2" "${fdst}"
    done

The -mainline version will be picked based on a boot property set by
the mainline kernel.

Bug: 265961701
Test: adb shell -nT getprop vendor.powerhal.config
      adb logcat -b all -D 'libperfmgr:V powerhal-libperfmgr:V *:S'
      m libperfmgr_test \
      && adb push \
             out/target/product/oriole/data/nativetest64/libperfmgr_test/libperfmgr_test \
             /data/libperfmgr_test \
      && adb shell /data/libperfmgr_test
Change-Id: Ice07444e38194e5fcf2127e935afdd4d29ff8e87
Signed-off-by: André Draszik <draszik@google.com>
2023-09-13 17:04:16 +00:00

58 lines
2.1 KiB
Text

# Raven specific init.rc
import /vendor/etc/init/hw/init.gs101.rc
import /vendor/etc/init/hw/init.raviole.rc
on init
# logbuffer
chown system system /dev/logbuffer_5-0057
# nvmem dump
chown system system /sys/bus/nvmem/devices/5-00500/nvmem
# Power Stats HAL
chown system system /sys/devices/platform/10d30000.spi/spi_master/spi10/spi10.0/uwb/power_stats
on init && property:ro.boot.vh_sched_available=0
setprop vendor.powerhal.config powerhint-mainline.json
on fs
# Face
exec_background - system shell -- /vendor/bin/trusty_apploader /vendor/firmware/faceauth.app
on property:vendor.mfgapi.touchpanel.permission=1
chmod 0600 /sys/devices/virtual/sec/tsp/cmd
chown system system /sys/devices/virtual/sec/tsp/cmd
# Toggle glove_mode according to touch_sensitivity_mode
on property:persist.vendor.touch_sensitivity_mode=0 && property:sys.boot_completed=1
write /sys/devices/virtual/sec/tsp/cmd "glove_mode,0"
on property:persist.vendor.touch_sensitivity_mode=1 && property:sys.boot_completed=1
write /sys/devices/virtual/sec/tsp/cmd "glove_mode,1"
# Display
on property:graphics.display.kernel_idle_timer.enabled=true
# Enable aggressive idle mode switching
write /sys/devices/platform/exynos-drm/primary-panel/panel_idle "1"
on property:graphics.display.kernel_idle_timer.enabled=false
write /sys/devices/platform/exynos-drm/primary-panel/panel_idle "0"
# Thermal
on late-init && property:ro.boot.hardware.revision=PROTO1.0
setprop vendor.disable.usb.overheat.mitigation.control 1
on late-init && property:ro.boot.hardware.revision=PROTO1.1
setprop vendor.disable.usb.overheat.mitigation.control 1
on late-init && property:ro.boot.hardware.revision=EVT1.0
setprop vendor.disable.usb.overheat.mitigation.control 1
# Bluetooth
on post-fs-data
chown bluetooth system /proc/bluetooth/timesync
# For Japan sku, always enforce camera shutter sound
# Since this property is read by the audio server in system service,
# it should be written by the system init.
on property:ro.boot.hardware.sku=GF5KQ
setprop audio.camerasound.force true