mirror of
https://github.com/Evolution-X/hardware_interfaces
synced 2026-02-01 16:50:18 +00:00
Use newly introduced hidl_handle.
Bug: 32089785 Test: builds Change-Id: I27c7d3945e1fe390661bf322987011a00fe9b3fe
This commit is contained in:
@@ -520,7 +520,7 @@ Return<Result> Device::setParameters(const hidl_vec<ParameterValue>& parameters)
|
||||
return setParametersImpl(parameters);
|
||||
}
|
||||
|
||||
Return<void> Device::debugDump(const native_handle_t* fd) {
|
||||
Return<void> Device::debugDump(const hidl_handle& fd) {
|
||||
if (fd->numFds == 1) {
|
||||
analyzeStatus("dump", mDevice->dump(mDevice, fd->data[0]));
|
||||
}
|
||||
|
||||
@@ -102,7 +102,7 @@ struct Device : public IDevice, public ParametersUtil {
|
||||
Return<void> getParameters(
|
||||
const hidl_vec<hidl_string>& keys, getParameters_cb _hidl_cb) override;
|
||||
Return<Result> setParameters(const hidl_vec<ParameterValue>& parameters) override;
|
||||
Return<void> debugDump(const native_handle_t* fd) override;
|
||||
Return<void> debugDump(const hidl_handle& fd) override;
|
||||
|
||||
// Utility methods for extending interfaces.
|
||||
Result analyzeStatus(const char* funcName, int status);
|
||||
|
||||
@@ -119,7 +119,7 @@ Return<Result> PrimaryDevice::setParameters(const hidl_vec<ParameterValue>& para
|
||||
return mDevice->setParameters(parameters);
|
||||
}
|
||||
|
||||
Return<void> PrimaryDevice::debugDump(const native_handle_t* fd) {
|
||||
Return<void> PrimaryDevice::debugDump(const hidl_handle& fd) {
|
||||
return mDevice->debugDump(fd);
|
||||
}
|
||||
|
||||
|
||||
@@ -88,7 +88,7 @@ struct PrimaryDevice : public IPrimaryDevice {
|
||||
Return<void> getParameters(
|
||||
const hidl_vec<hidl_string>& keys, getParameters_cb _hidl_cb) override;
|
||||
Return<Result> setParameters(const hidl_vec<ParameterValue>& parameters) override;
|
||||
Return<void> debugDump(const native_handle_t* fd) override;
|
||||
Return<void> debugDump(const hidl_handle& fd) override;
|
||||
|
||||
// Methods from ::android::hardware::audio::V2_0::IPrimaryDevice follow.
|
||||
Return<Result> setVoiceVolume(float volume) override;
|
||||
|
||||
@@ -222,7 +222,7 @@ Return<Result> Stream::setParameters(const hidl_vec<ParameterValue>& parameters)
|
||||
return setParametersImpl(parameters);
|
||||
}
|
||||
|
||||
Return<void> Stream::debugDump(const native_handle_t* fd) {
|
||||
Return<void> Stream::debugDump(const hidl_handle& fd) {
|
||||
if (fd->numFds == 1) {
|
||||
analyzeStatus("dump", mStream->dump(mStream, fd->data[0]));
|
||||
}
|
||||
|
||||
@@ -70,7 +70,7 @@ struct Stream : public IStream, public ParametersUtil {
|
||||
Return<void> getParameters(
|
||||
const hidl_vec<hidl_string>& keys, getParameters_cb _hidl_cb) override;
|
||||
Return<Result> setParameters(const hidl_vec<ParameterValue>& parameters) override;
|
||||
Return<void> debugDump(const native_handle_t* fd) override;
|
||||
Return<void> debugDump(const hidl_handle& fd) override;
|
||||
|
||||
// Utility methods for extending interfaces.
|
||||
Result analyzeStatus(const char* funcName, int status);
|
||||
|
||||
@@ -126,7 +126,7 @@ Return<Result> StreamIn::setParameters(const hidl_vec<ParameterValue>& parameter
|
||||
return mStreamCommon->setParameters(parameters);
|
||||
}
|
||||
|
||||
Return<void> StreamIn::debugDump(const native_handle_t* fd) {
|
||||
Return<void> StreamIn::debugDump(const hidl_handle& fd) {
|
||||
return mStreamCommon->debugDump(fd);
|
||||
}
|
||||
|
||||
|
||||
@@ -72,7 +72,7 @@ struct StreamIn : public IStreamIn {
|
||||
Return<void> getParameters(
|
||||
const hidl_vec<hidl_string>& keys, getParameters_cb _hidl_cb) override;
|
||||
Return<Result> setParameters(const hidl_vec<ParameterValue>& parameters) override;
|
||||
Return<void> debugDump(const native_handle_t* fd) override;
|
||||
Return<void> debugDump(const hidl_handle& fd) override;
|
||||
|
||||
// Methods from ::android::hardware::audio::V2_0::IStreamIn follow.
|
||||
Return<void> getAudioSource(getAudioSource_cb _hidl_cb) override;
|
||||
|
||||
@@ -128,7 +128,7 @@ Return<Result> StreamOut::setParameters(const hidl_vec<ParameterValue>& paramete
|
||||
return mStreamCommon->setParameters(parameters);
|
||||
}
|
||||
|
||||
Return<void> StreamOut::debugDump(const native_handle_t* fd) {
|
||||
Return<void> StreamOut::debugDump(const hidl_handle& fd) {
|
||||
return mStreamCommon->debugDump(fd);
|
||||
}
|
||||
|
||||
|
||||
@@ -74,7 +74,7 @@ struct StreamOut : public IStreamOut {
|
||||
Return<void> getParameters(
|
||||
const hidl_vec<hidl_string>& keys, getParameters_cb _hidl_cb) override;
|
||||
Return<Result> setParameters(const hidl_vec<ParameterValue>& parameters) override;
|
||||
Return<void> debugDump(const native_handle_t* fd) override;
|
||||
Return<void> debugDump(const hidl_handle& fd) override;
|
||||
|
||||
// Methods from ::android::hardware::audio::V2_0::IStreamOut follow.
|
||||
Return<uint32_t> getLatency() override;
|
||||
|
||||
@@ -182,7 +182,7 @@ Return<void> EffectsFactory::createEffect(
|
||||
return Void();
|
||||
}
|
||||
|
||||
Return<void> EffectsFactory::debugDump(const native_handle_t* fd) {
|
||||
Return<void> EffectsFactory::debugDump(const hidl_handle& fd) {
|
||||
if (fd->numFds == 1) {
|
||||
EffectDumpEffects(fd->data[0]);
|
||||
}
|
||||
|
||||
@@ -47,7 +47,7 @@ struct EffectsFactory : public IEffectsFactory {
|
||||
Return<void> getDescriptor(const Uuid& uid, getDescriptor_cb _hidl_cb) override;
|
||||
Return<void> createEffect(
|
||||
const Uuid& uid, int32_t session, int32_t ioHandle, createEffect_cb _hidl_cb) override;
|
||||
Return<void> debugDump(const native_handle_t* fd) override;
|
||||
Return<void> debugDump(const hidl_handle& fd) override;
|
||||
|
||||
private:
|
||||
static sp<IEffect> dispatchEffectInstanceCreation(
|
||||
|
||||
@@ -318,15 +318,15 @@ public:
|
||||
presentDisplay_cb hidl_cb) override;
|
||||
Return<Error> setActiveConfig(Display display, Config config) override;
|
||||
Return<Error> setClientTarget(Display display,
|
||||
const native_handle_t* target,
|
||||
const native_handle_t* acquireFence,
|
||||
const hidl_handle& target,
|
||||
const hidl_handle& acquireFence,
|
||||
Dataspace dataspace, const hidl_vec<Rect>& damage) override;
|
||||
Return<Error> setColorMode(Display display, ColorMode mode) override;
|
||||
Return<Error> setColorTransform(Display display,
|
||||
const hidl_vec<float>& matrix, ColorTransform hint) override;
|
||||
Return<Error> setOutputBuffer(Display display,
|
||||
const native_handle_t* buffer,
|
||||
const native_handle_t* releaseFence) override;
|
||||
const hidl_handle& buffer,
|
||||
const hidl_handle& releaseFence) override;
|
||||
Return<Error> setPowerMode(Display display, PowerMode mode) override;
|
||||
Return<Error> setVsyncEnabled(Display display, Vsync enabled) override;
|
||||
Return<void> validateDisplay(Display display,
|
||||
@@ -334,8 +334,8 @@ public:
|
||||
Return<Error> setCursorPosition(Display display,
|
||||
Layer layer, int32_t x, int32_t y) override;
|
||||
Return<Error> setLayerBuffer(Display display,
|
||||
Layer layer, const native_handle_t* buffer,
|
||||
const native_handle_t* acquireFence) override;
|
||||
Layer layer, const hidl_handle& buffer,
|
||||
const hidl_handle& acquireFence) override;
|
||||
Return<Error> setLayerSurfaceDamage(Display display,
|
||||
Layer layer, const hidl_vec<Rect>& damage) override;
|
||||
Return<Error> setLayerBlendMode(Display display,
|
||||
@@ -351,7 +351,7 @@ public:
|
||||
Return<Error> setLayerPlaneAlpha(Display display,
|
||||
Layer layer, float alpha) override;
|
||||
Return<Error> setLayerSidebandStream(Display display,
|
||||
Layer layer, const native_handle_t* stream) override;
|
||||
Layer layer, const hidl_handle& stream) override;
|
||||
Return<Error> setLayerSourceCrop(Display display,
|
||||
Layer layer, const FRect& crop) override;
|
||||
Return<Error> setLayerTransform(Display display,
|
||||
@@ -1027,17 +1027,18 @@ Return<Error> HwcHal::setActiveConfig(Display display, Config config)
|
||||
}
|
||||
|
||||
Return<Error> HwcHal::setClientTarget(Display display,
|
||||
const native_handle_t* target,
|
||||
const native_handle_t* acquireFence,
|
||||
const hidl_handle& target,
|
||||
const hidl_handle& acquireFence,
|
||||
Dataspace dataspace, const hidl_vec<Rect>& damage)
|
||||
{
|
||||
if (!sHandleImporter.importBuffer(target)) {
|
||||
const native_handle_t* targetHandle = target.getNativeHandle();
|
||||
if (!sHandleImporter.importBuffer(targetHandle)) {
|
||||
return Error::NO_RESOURCES;
|
||||
}
|
||||
|
||||
int32_t fence;
|
||||
if (!sHandleImporter.importFence(acquireFence, fence)) {
|
||||
sHandleImporter.freeBuffer(target);
|
||||
sHandleImporter.freeBuffer(targetHandle);
|
||||
return Error::NO_RESOURCES;
|
||||
}
|
||||
|
||||
@@ -1045,13 +1046,13 @@ Return<Error> HwcHal::setClientTarget(Display display,
|
||||
reinterpret_cast<const hwc_rect_t*>(&damage[0]) };
|
||||
|
||||
int32_t error = mDispatch.setClientTarget(mDevice, display,
|
||||
target, fence, static_cast<int32_t>(dataspace),
|
||||
targetHandle, fence, static_cast<int32_t>(dataspace),
|
||||
damage_region);
|
||||
if (error == HWC2_ERROR_NONE) {
|
||||
std::lock_guard<std::mutex> lock(mDisplayMutex);
|
||||
|
||||
auto dpy = mDisplays.find(display);
|
||||
dpy->second.ClientTarget = target;
|
||||
dpy->second.ClientTarget = targetHandle;
|
||||
} else {
|
||||
sHandleImporter.freeBuffer(target);
|
||||
sHandleImporter.closeFence(fence);
|
||||
@@ -1076,28 +1077,29 @@ Return<Error> HwcHal::setColorTransform(Display display,
|
||||
}
|
||||
|
||||
Return<Error> HwcHal::setOutputBuffer(Display display,
|
||||
const native_handle_t* buffer,
|
||||
const native_handle_t* releaseFence)
|
||||
const hidl_handle& buffer,
|
||||
const hidl_handle& releaseFence)
|
||||
{
|
||||
if (!sHandleImporter.importBuffer(buffer)) {
|
||||
const native_handle_t* bufferHandle = buffer.getNativeHandle();
|
||||
if (!sHandleImporter.importBuffer(bufferHandle)) {
|
||||
return Error::NO_RESOURCES;
|
||||
}
|
||||
|
||||
int32_t fence;
|
||||
if (!sHandleImporter.importFence(releaseFence, fence)) {
|
||||
sHandleImporter.freeBuffer(buffer);
|
||||
sHandleImporter.freeBuffer(bufferHandle);
|
||||
return Error::NO_RESOURCES;
|
||||
}
|
||||
|
||||
int32_t error = mDispatch.setOutputBuffer(mDevice,
|
||||
display, buffer, fence);
|
||||
display, bufferHandle, fence);
|
||||
if (error == HWC2_ERROR_NONE) {
|
||||
std::lock_guard<std::mutex> lock(mDisplayMutex);
|
||||
|
||||
auto dpy = mDisplays.find(display);
|
||||
dpy->second.OutputBuffer = buffer;
|
||||
dpy->second.OutputBuffer = bufferHandle;
|
||||
} else {
|
||||
sHandleImporter.freeBuffer(buffer);
|
||||
sHandleImporter.freeBuffer(bufferHandle);
|
||||
}
|
||||
|
||||
// unlike in setClientTarget, fence is owned by us and is always closed
|
||||
@@ -1142,28 +1144,29 @@ Return<Error> HwcHal::setCursorPosition(Display display,
|
||||
}
|
||||
|
||||
Return<Error> HwcHal::setLayerBuffer(Display display,
|
||||
Layer layer, const native_handle_t* buffer,
|
||||
const native_handle_t* acquireFence)
|
||||
Layer layer, const hidl_handle& buffer,
|
||||
const hidl_handle& acquireFence)
|
||||
{
|
||||
if (!sHandleImporter.importBuffer(buffer)) {
|
||||
const native_handle_t* bufferHandle = buffer.getNativeHandle();
|
||||
if (!sHandleImporter.importBuffer(bufferHandle)) {
|
||||
return Error::NO_RESOURCES;
|
||||
}
|
||||
|
||||
int32_t fence;
|
||||
if (!sHandleImporter.importFence(acquireFence, fence)) {
|
||||
sHandleImporter.freeBuffer(buffer);
|
||||
sHandleImporter.freeBuffer(bufferHandle);
|
||||
return Error::NO_RESOURCES;
|
||||
}
|
||||
|
||||
int32_t error = mDispatch.setLayerBuffer(mDevice,
|
||||
display, layer, buffer, fence);
|
||||
display, layer, bufferHandle, fence);
|
||||
if (error == HWC2_ERROR_NONE) {
|
||||
std::lock_guard<std::mutex> lock(mDisplayMutex);
|
||||
|
||||
auto dpy = mDisplays.find(display);
|
||||
dpy->second.LayerBuffers[layer] = buffer;
|
||||
dpy->second.LayerBuffers[layer] = bufferHandle;
|
||||
} else {
|
||||
sHandleImporter.freeBuffer(buffer);
|
||||
sHandleImporter.freeBuffer(bufferHandle);
|
||||
sHandleImporter.closeFence(fence);
|
||||
}
|
||||
|
||||
@@ -1230,21 +1233,22 @@ Return<Error> HwcHal::setLayerPlaneAlpha(Display display,
|
||||
}
|
||||
|
||||
Return<Error> HwcHal::setLayerSidebandStream(Display display,
|
||||
Layer layer, const native_handle_t* stream)
|
||||
Layer layer, const hidl_handle& stream)
|
||||
{
|
||||
if (!sHandleImporter.importBuffer(stream)) {
|
||||
const native_handle_t* streamHandle = stream.getNativeHandle();
|
||||
if (!sHandleImporter.importBuffer(streamHandle)) {
|
||||
return Error::NO_RESOURCES;
|
||||
}
|
||||
|
||||
int32_t error = mDispatch.setLayerSidebandStream(mDevice,
|
||||
display, layer, stream);
|
||||
display, layer, streamHandle);
|
||||
if (error == HWC2_ERROR_NONE) {
|
||||
std::lock_guard<std::mutex> lock(mDisplayMutex);
|
||||
|
||||
auto dpy = mDisplays.find(display);
|
||||
dpy->second.LayerSidebandStreams[layer] = stream;
|
||||
dpy->second.LayerSidebandStreams[layer] = streamHandle;
|
||||
} else {
|
||||
sHandleImporter.freeBuffer(stream);
|
||||
sHandleImporter.freeBuffer(streamHandle);
|
||||
}
|
||||
|
||||
return static_cast<Error>(error);
|
||||
|
||||
@@ -153,8 +153,8 @@ Return<void> Bar::thisIsNew() {
|
||||
return Void();
|
||||
}
|
||||
|
||||
Return<void> Bar::expectNullHandle(const native_handle_t* h, const Abc& xyz, expectNullHandle_cb _hidl_cb) {
|
||||
ALOGI("SERVER(Bar) h = %p, xyz.z = %p", h, static_cast<void*>(xyz.z));
|
||||
Return<void> Bar::expectNullHandle(const hidl_handle& h, const Abc& xyz, expectNullHandle_cb _hidl_cb) {
|
||||
ALOGI("SERVER(Bar) h = %p, xyz.z = %p", h.getNativeHandle(), xyz.z.getNativeHandle());
|
||||
_hidl_cb(h == nullptr, xyz.z == nullptr);
|
||||
return Void();
|
||||
}
|
||||
|
||||
@@ -64,7 +64,7 @@ struct Bar : public IBar {
|
||||
|
||||
// Methods from ::android::hardware::tests::bar::V1_0::IBar follow.
|
||||
Return<void> thisIsNew() override;
|
||||
Return<void> expectNullHandle(const native_handle_t* h, const Abc& xyz, expectNullHandle_cb _hidl_cb) override;
|
||||
Return<void> expectNullHandle(const hidl_handle& h, const Abc& xyz, expectNullHandle_cb _hidl_cb) override;
|
||||
|
||||
private:
|
||||
sp<IFoo> mFoo;
|
||||
|
||||
@@ -309,7 +309,7 @@ Return<void> Foo::createMyHandle(createMyHandle_cb _hidl_cb) {
|
||||
}
|
||||
|
||||
Return<void> Foo::createHandles(uint32_t size, createHandles_cb _hidl_cb) {
|
||||
hidl_vec<const native_handle_t*> handles;
|
||||
hidl_vec<hidl_handle> handles;
|
||||
handles.resize(size);
|
||||
for(uint32_t i = 0; i < size; ++i) {
|
||||
createMyHandle([&](const MyHandle& h) {
|
||||
|
||||
Reference in New Issue
Block a user