1# airbrush service
2type airbrush, domain;
3type airbrush_exec, exec_type, vendor_file_type, file_type;
4
5init_daemon_domain(airbrush)
6
7hwbinder_use(airbrush)
8add_hwservice(airbrush, hal_airbrush_hwservice)
9add_service(airbrush, airbrush_faceauth_service)
10add_service(airbrush, airbrush_tpu_service)
11get_prop(airbrush, hwservicemanager_prop)
12
13allow airbrush airbrush_sm_device:chr_file { rw_file_perms };
14
15allow airbrush hal_graphics_allocator_default:fd use;
16allow airbrush ion_device:chr_file r_file_perms;
17
18# Allow Airbrush to make binder calls to Darwinn and vice versa
19binder_call(airbrush, hal_neuralnetworks_darwinn)
20binder_call(hal_neuralnetworks_darwinn, airbrush)
21
22# Allow Airbrush to stat the IPU/TPU devices.
23allow airbrush abc_tpu_device:chr_file getattr;
24allow airbrush ipu_device:chr_file getattr;
25
26allow airbrush sysfs_airbrush:file rw_file_perms;
27allow airbrush sysfs_airbrush:dir r_dir_perms;
28allow airbrush airbrush_data_file:file create_file_perms;
29allow airbrush airbrush_data_file:dir rw_dir_perms;
30
31allow airbrush fwk_stats_hwservice:hwservice_manager find;
32binder_call(airbrush, stats_service_server)
33
34vndbinder_use(airbrush)
35