diff --git a/edgetpu/edgetpu.mk b/edgetpu/edgetpu.mk index 2f0f77c..5ad2711 100644 --- a/edgetpu/edgetpu.mk +++ b/edgetpu/edgetpu.mk @@ -28,3 +28,8 @@ BOARD_VENDOR_SEPOLICY_DIRS += device/google/gs-common/edgetpu/sepolicy # Tflite Darwinn delegate property PRODUCT_VENDOR_PROPERTIES += vendor.edgetpu.tflite_delegate.force_disable_io_coherency=0 + +# Edgetpu CPU scheduler property +PRODUCT_VENDOR_PROPERTIES += vendor.edgetpu.cpu_scheduler.policy=FIFO +PRODUCT_VENDOR_PROPERTIES += vendor.edgetpu.cpu_scheduler.priority=99 + diff --git a/edgetpu/sepolicy/edgetpu_dba_service.te b/edgetpu/sepolicy/edgetpu_dba_service.te index 3717e20..da210da 100644 --- a/edgetpu/sepolicy/edgetpu_dba_service.te +++ b/edgetpu/sepolicy/edgetpu_dba_service.te @@ -45,3 +45,5 @@ userdebug_or_eng(`perfetto_producer(edgetpu_dba_server)') get_prop(edgetpu_dba_server, vendor_tflite_delegate_prop) # Allow EdgeTPU DBA service to read hetero runtime properties get_prop(edgetpu_dba_server, vendor_hetero_runtime_prop) +# Allow EdgeTPU DBA service to read EdgeTPU CPU scheduler properties +get_prop(edgetpu_dba_server, vendor_edgetpu_cpu_scheduler_prop) diff --git a/edgetpu/sepolicy/property.te b/edgetpu/sepolicy/property.te index 1ed9a59..625ed0a 100644 --- a/edgetpu/sepolicy/property.te +++ b/edgetpu/sepolicy/property.te @@ -6,5 +6,9 @@ system_public_prop(vendor_edgetpu_service_prop) # and then read by apps, camera hal, and some Darwinn vendor services. system_vendor_config_prop(vendor_tflite_delegate_prop) +# The EdgeTPU CPU scheduler properties are written once by vendor_init, +# and then read by HAL service. +system_vendor_config_prop(vendor_edgetpu_cpu_scheduler_prop) + # Hetero runtime properties, including tracing levels. system_vendor_config_prop(vendor_hetero_runtime_prop) diff --git a/edgetpu/sepolicy/property_contexts b/edgetpu/sepolicy/property_contexts index c21eb13..dabbd20 100644 --- a/edgetpu/sepolicy/property_contexts +++ b/edgetpu/sepolicy/property_contexts @@ -1,5 +1,6 @@ # for EdgeTPU vendor.edgetpu.service. u:object_r:vendor_edgetpu_service_prop:s0 +vendor.edgetpu.cpu_scheduler. u:object_r:vendor_edgetpu_cpu_scheduler_prop:s0 # for DarwinnDelegate vendor.edgetpu.tflite_delegate. u:object_r:vendor_tflite_delegate_prop:s0 diff --git a/edgetpu/sepolicy/vendor_init.te b/edgetpu/sepolicy/vendor_init.te index c9506f0..d0ee1f9 100644 --- a/edgetpu/sepolicy/vendor_init.te +++ b/edgetpu/sepolicy/vendor_init.te @@ -1,2 +1,4 @@ # Allow vendor_init to set tflite Darwinn delegate properties set_prop(vendor_init, vendor_tflite_delegate_prop) +# Allow vendor_init to set the EdgeTPU CPU scheduler properties. +set_prop(vendor_init, vendor_edgetpu_cpu_scheduler_prop) diff --git a/gps/brcm/cbd_gps.mk b/gps/brcm/cbd_gps.mk new file mode 100644 index 0000000..74d1a3b --- /dev/null +++ b/gps/brcm/cbd_gps.mk @@ -0,0 +1,3 @@ +# Copy the cbd control gps state init rc file +PRODUCT_PACKAGES += \ + cbd_gps.rc diff --git a/gps/brcm/conf/Android.bp b/gps/brcm/conf/Android.bp new file mode 100644 index 0000000..97e0af9 --- /dev/null +++ b/gps/brcm/conf/Android.bp @@ -0,0 +1,10 @@ +package { + default_applicable_licenses: ["Android-Apache-2.0"], +} + +prebuilt_etc { + name: "cbd_gps.rc", + src: "cbd_gps.rc", + relative_install_path: "init", + vendor: true, +} \ No newline at end of file diff --git a/gps/brcm/conf/cbd_gps.rc b/gps/brcm/conf/cbd_gps.rc new file mode 100644 index 0000000..b315fe3 --- /dev/null +++ b/gps/brcm/conf/cbd_gps.rc @@ -0,0 +1,5 @@ +# disable gps service if cbd state is invalid +on property:vendor.ril.cbd.svc=0 + stop gpsd + stop lhd + stop scd diff --git a/gps/brcm/prebuilt/init.gps.rc b/gps/brcm/prebuilt/init.gps.rc index 5f1bb15..a9823ef 100644 --- a/gps/brcm/prebuilt/init.gps.rc +++ b/gps/brcm/prebuilt/init.gps.rc @@ -24,8 +24,3 @@ service gnss_service /vendor/bin/hw/android.hardware.gnss@2.1-service-brcm ioprio be 0 priority -1 -# disable gps service if no gps h/w -on property:vendor.ril.cbd.svc=0 - stop gpsd - stop lhd - stop scd \ No newline at end of file