Files
hardware_interfaces/drm/1.1
Robert Shih f2eaf2c299 VtsHalDrm: run tests in single shard
Currently drm cert provisioning is performed as an indivdual test case.
Other tests (e.g. decrypt tests) have dependency on drm cert
provisioning.

Bug: 165493235
Test: VtsHalDrmV1_0TargetTest
Test: VtsHalDrmV1_1TargetTest
Test: VtsHalDrmV1_2TargetTest
Test: VtsHalDrmV1_3TargetTest
Change-Id: I7aad35747997e6ce5b06919344475e0f2754cd15
2020-08-27 08:58:04 -07:00
..
2020-08-27 08:58:04 -07:00
2019-04-17 09:38:50 -07:00
2018-01-21 16:06:49 -08:00
2018-10-25 16:50:06 -07:00
2018-01-29 14:27:29 -08:00

VINTF Device Manifest

In Android Pie, an <fqname> tag was introduced to be able to express multiple different versions of the same HAL in VINTF manifests (for DRM) in device manifest. For devices launching with previous versions of Android and upgrading to Android Pie, the device manifest must not use <fqname> to satisfy requirements for non-optional HALs, because older version of libvintf do not recognize it, causing errors during OTA update.

Assuming that the HAL provides @1.0::I*/default, @1.1::I*/clearkey and @1.1::I*/foo instances:

Devices upgrading to Android Pie

target-level=1 or target-level=2

FCM (framework compatibility matrix) version 2 (released in Android Oreo MR1) requires DRM 1.0. If the new device manifest has Target FCM Version (i.e. target-level) 1 or 2, it should use the following snippet:

<hal format="hidl">
    <name>android.hardware.drm</name>
    <transport>hwbinder</transport>
    <version>1.0</version>
    <interface>
        <name>ICryptoFactory</name>
        <instance>default</instance>
    </interface>
    <interface>
        <name>IDrmFactory</name>
        <instance>default</instance>
    </interface>
    <fqname>@1.1::ICryptoFactory/clearkey</fqname>
    <fqname>@1.1::IDrmFactory/clearkey</fqname>
    <fqname>@1.1::ICryptoFactory/foo</fqname>
    <fqname>@1.1::IDrmFactory/foo</fqname>
</hal>

target-level=3

FCM (framework compatibility matrix) version 3 (released in Android Pie) requires DRM 1.1. If the new device manifest has Target FCM Version (i.e. target-level) 3, it should use the following snippet:

<hal format="hidl">
    <name>android.hardware.drm</name>
    <transport>hwbinder</transport>
    <version>1.1</version>
    <interface>
        <name>ICryptoFactory</name>
        <instance>clearkey</instance>
        <instance>foo</instance>
    </interface>
    <interface>
        <name>IDrmFactory</name>
        <instance>clearkey</instance>
        <instance>foo</instance>
    </interface>
    <fqname>@1.0::ICryptoFactory/default</fqname>
    <fqname>@1.0::IDrmFactory/default</fqname>
</hal>

Devices launching with Android Pie

If you have a new device launched with Android Pie (no OTA), both of the aforementioned snippets can be used. Besides, it is recommended to use the new, clearer format:

<hal format="hidl">
    <name>android.hardware.drm</name>
    <transport>hwbinder</transport>
    <fqname>@1.0::ICryptoFactory/default</fqname>
    <fqname>@1.0::IDrmFactory/default</fqname>
    <fqname>@1.1::ICryptoFactory/clearkey</fqname>
    <fqname>@1.1::IDrmFactory/clearkey</fqname>
    <fqname>@1.1::ICryptoFactory/foo</fqname>
    <fqname>@1.1::IDrmFactory/foo</fqname>
</hal>