Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit de979160 authored by TreeHugger Robot's avatar TreeHugger Robot Committed by Android (Google) Code Review
Browse files

Merge "Cleanup unused logic for ProducerBuffer.Detach"

parents e49caaa3 b0eec511
Loading
Loading
Loading
Loading
+0 −3
Original line number Diff line number Diff line
@@ -314,7 +314,6 @@ struct BufferHubRPC {
    kOpProducerGain,
    kOpConsumerAcquire,
    kOpConsumerRelease,
    kOpProducerBufferDetach,
    kOpConsumerBufferDetach,
    kOpCreateProducerQueue,
    kOpCreateConsumerQueue,
@@ -344,8 +343,6 @@ struct BufferHubRPC {
  PDX_REMOTE_METHOD(ConsumerAcquire, kOpConsumerAcquire, LocalFence(Void));
  PDX_REMOTE_METHOD(ConsumerRelease, kOpConsumerRelease,
                    void(LocalFence release_fence));
  PDX_REMOTE_METHOD(ProducerBufferDetach, kOpProducerBufferDetach,
                    LocalChannelHandle(Void));

  // Detaches a ConsumerBuffer from an existing producer/consumer set. Can only
  // be called when the consumer is the only consumer and it has exclusive
+4 −2
Original line number Diff line number Diff line
@@ -228,7 +228,9 @@ Status<LocalChannelHandle> ProducerBuffer::Detach() {
  ALOGW("ProducerBuffer::Detach: not supported operation during migration");
  return {};

  uint64_t buffer_state = buffer_state_->load();
  // TODO(b/112338294) Keep here for reference. Remove it after new logic is
  // written.
  /* uint64_t buffer_state = buffer_state_->load();
  if (!BufferHubDefs::IsBufferGained(buffer_state)) {
    // Can only detach a ProducerBuffer when it's in gained state.
    ALOGW("ProducerBuffer::Detach: The buffer (id=%d, state=0x%" PRIx64
@@ -242,7 +244,7 @@ Status<LocalChannelHandle> ProducerBuffer::Detach() {
  ALOGE_IF(!status,
           "ProducerBuffer::Detach: Failed to detach buffer (id=%d): %s.", id(),
           status.GetErrorMessage().c_str());
  return status;
  return status; */
}

}  // namespace dvr
+0 −9
Original line number Diff line number Diff line
@@ -12,15 +12,6 @@ using android::pdx::rpc::DispatchRemoteMethod;
namespace android {
namespace dvr {

BufferChannel::BufferChannel(BufferHubService* service, int buffer_id,
                             int channel_id, IonBuffer buffer,
                             size_t user_metadata_size)
    : BufferHubChannel(service, buffer_id, channel_id, kDetachedBufferType),
      buffer_node_(
          std::make_shared<BufferNode>(std::move(buffer), user_metadata_size)) {
  client_state_mask_ = buffer_node_->AddNewActiveClientsBitToMask();
}

BufferChannel::BufferChannel(BufferHubService* service, int buffer_id,
                             uint32_t width, uint32_t height,
                             uint32_t layer_count, uint32_t format,
+0 −9
Original line number Diff line number Diff line
@@ -256,15 +256,6 @@ pdx::Status<void> BufferHubService::HandleMessage(Message& message) {
          *this, &BufferHubService::OnCreateProducerQueue, message);
      return {};

    case BufferHubRPC::ProducerBufferDetach::Opcode:
      // In addition to the message handler in the ProducerChannel's
      // HandleMessage method, we also need to invalid the producer channel (and
      // all associated consumer channels). Note that this has to be done after
      // HandleMessage returns to make sure the IPC request has went back to the
      // client first.
      SetChannel(channel->channel_id(), nullptr);
      return {};

    default:
      return DefaultHandleMessage(message);
  }
+0 −6
Original line number Diff line number Diff line
@@ -15,12 +15,6 @@ void BufferNode::InitializeMetadata() {
      new (&metadata_header->active_clients_bit_mask) std::atomic<uint64_t>(0);
}

BufferNode::BufferNode(IonBuffer buffer, size_t user_metadata_size)
    : buffer_(std::move(buffer)) {
  metadata_ = BufferHubMetadata::Create(user_metadata_size);
  InitializeMetadata();
}

// Allocates a new BufferNode.
BufferNode::BufferNode(uint32_t width, uint32_t height, uint32_t layer_count,
                       uint32_t format, uint64_t usage,
Loading