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

Commit 70834b7d authored by Tianyu Jiang's avatar Tianyu Jiang Committed by Android (Google) Code Review
Browse files

Merge "Rename and fix comments and typo."

parents 58fb2f53 83a991f8
Loading
Loading
Loading
Loading
+5 −5
Original line number Original line Diff line number Diff line
@@ -710,7 +710,7 @@ TEST_F(LibBufferHubTest, TestOrphanedAcquire) {
  std::unique_ptr<ConsumerBuffer> c1 =
  std::unique_ptr<ConsumerBuffer> c1 =
      ConsumerBuffer::Import(p->CreateConsumer());
      ConsumerBuffer::Import(p->CreateConsumer());
  ASSERT_TRUE(c1.get() != nullptr);
  ASSERT_TRUE(c1.get() != nullptr);
  const uint64_t consumer_state_bit1 = c1->client_state_mask();
  const uint64_t client_state_mask1 = c1->client_state_mask();


  DvrNativeBufferMetadata meta;
  DvrNativeBufferMetadata meta;
  EXPECT_EQ(0, p->PostAsync(&meta, LocalHandle()));
  EXPECT_EQ(0, p->PostAsync(&meta, LocalHandle()));
@@ -726,8 +726,8 @@ TEST_F(LibBufferHubTest, TestOrphanedAcquire) {
  std::unique_ptr<ConsumerBuffer> c2 =
  std::unique_ptr<ConsumerBuffer> c2 =
      ConsumerBuffer::Import(p->CreateConsumer());
      ConsumerBuffer::Import(p->CreateConsumer());
  ASSERT_TRUE(c2.get() != nullptr);
  ASSERT_TRUE(c2.get() != nullptr);
  const uint64_t consumer_state_bit2 = c2->client_state_mask();
  const uint64_t client_state_mask2 = c2->client_state_mask();
  EXPECT_NE(consumer_state_bit1, consumer_state_bit2);
  EXPECT_NE(client_state_mask1, client_state_mask2);


  // The new consumer is available for acquire.
  // The new consumer is available for acquire.
  EXPECT_LT(0, RETRY_EINTR(c2->Poll(kPollTimeoutMs)));
  EXPECT_LT(0, RETRY_EINTR(c2->Poll(kPollTimeoutMs)));
@@ -742,8 +742,8 @@ TEST_F(LibBufferHubTest, TestOrphanedAcquire) {
  std::unique_ptr<ConsumerBuffer> c3 =
  std::unique_ptr<ConsumerBuffer> c3 =
      ConsumerBuffer::Import(p->CreateConsumer());
      ConsumerBuffer::Import(p->CreateConsumer());
  ASSERT_TRUE(c3.get() != nullptr);
  ASSERT_TRUE(c3.get() != nullptr);
  const uint64_t consumer_state_bit3 = c3->client_state_mask();
  const uint64_t client_state_mask3 = c3->client_state_mask();
  EXPECT_NE(consumer_state_bit2, consumer_state_bit3);
  EXPECT_NE(client_state_mask2, client_state_mask3);
  // The consumer buffer is not acquirable.
  // The consumer buffer is not acquirable.
  EXPECT_GE(0, RETRY_EINTR(c3->Poll(kPollTimeoutMs)));
  EXPECT_GE(0, RETRY_EINTR(c3->Poll(kPollTimeoutMs)));
  EXPECT_EQ(-EBUSY, c3->AcquireAsync(&meta, &fence));
  EXPECT_EQ(-EBUSY, c3->AcquireAsync(&meta, &fence));
+2 −2
Original line number Original line Diff line number Diff line
@@ -60,12 +60,12 @@ static inline bool IsBufferReleased(uint64_t state) {
  return !(state & kProducerStateBit) && (state & kConsumerStateMask);
  return !(state & kProducerStateBit) && (state & kConsumerStateMask);
}
}


static inline uint64_t FindNextClearedBit(uint64_t bits) {
static inline uint64_t FindNextAvailableClientStateMask(uint64_t bits) {
  return ~bits - (~bits & (~bits - 1));
  return ~bits - (~bits & (~bits - 1));
}
}


static inline uint64_t FindFirstClearedBit() {
static inline uint64_t FindFirstClearedBit() {
  return FindNextClearedBit(kProducerStateBit);
  return FindNextAvailableClientStateMask(kProducerStateBit);
}
}


struct __attribute__((packed, aligned(8))) MetadataHeader {
struct __attribute__((packed, aligned(8))) MetadataHeader {
+1 −3
Original line number Original line Diff line number Diff line
@@ -122,9 +122,7 @@ class BufferDescription {
  int buffer_cid() const { return buffer_cid_; }
  int buffer_cid() const { return buffer_cid_; }


  // State mask of the buffer client. Each BufferHub client backed by the
  // State mask of the buffer client. Each BufferHub client backed by the
  // same buffer channel has uniqued state bit among its siblings. For a
  // same buffer channel has uniqued state bit among its siblings.
  // producer buffer the bit must be kProducerStateBit; for a consumer the bit
  // must be one of the kConsumerStateMask.
  uint64_t client_state_mask() const { return client_state_mask_; }
  uint64_t client_state_mask() const { return client_state_mask_; }
  FileHandleType take_acquire_fence() { return std::move(acquire_fence_fd_); }
  FileHandleType take_acquire_fence() { return std::move(acquire_fence_fd_); }
  FileHandleType take_release_fence() { return std::move(release_fence_fd_); }
  FileHandleType take_release_fence() { return std::move(release_fence_fd_); }
+2 −2
Original line number Original line Diff line number Diff line
@@ -44,8 +44,8 @@ uint64_t BufferNode::AddNewActiveClientsBitToMask() {
  uint64_t client_state_mask = 0ULL;
  uint64_t client_state_mask = 0ULL;
  uint64_t updated_active_clients_bit_mask = 0ULL;
  uint64_t updated_active_clients_bit_mask = 0ULL;
  do {
  do {
    client_state_mask =
    client_state_mask = BufferHubDefs::FindNextAvailableClientStateMask(
        BufferHubDefs::FindNextClearedBit(current_active_clients_bit_mask);
        current_active_clients_bit_mask);
    if (client_state_mask == 0ULL) {
    if (client_state_mask == 0ULL) {
      ALOGE(
      ALOGE(
          "BufferNode::AddNewActiveClientsBitToMask: reached the maximum "
          "BufferNode::AddNewActiveClientsBitToMask: reached the maximum "
+4 −4
Original line number Original line Diff line number Diff line
@@ -17,10 +17,10 @@ namespace android {
namespace dvr {
namespace dvr {


ConsumerChannel::ConsumerChannel(BufferHubService* service, int buffer_id,
ConsumerChannel::ConsumerChannel(BufferHubService* service, int buffer_id,
                                 int channel_id, uint64_t consumer_state_bit,
                                 int channel_id, uint64_t client_state_mask,
                                 const std::shared_ptr<Channel> producer)
                                 const std::shared_ptr<Channel> producer)
    : BufferHubChannel(service, buffer_id, channel_id, kConsumerType),
    : BufferHubChannel(service, buffer_id, channel_id, kConsumerType),
      consumer_state_bit_(consumer_state_bit),
      client_state_mask_(client_state_mask),
      producer_(producer) {
      producer_(producer) {
  GetProducer()->AddConsumer(this);
  GetProducer()->AddConsumer(this);
}
}
@@ -41,7 +41,7 @@ BufferHubChannel::BufferInfo ConsumerChannel::GetBufferInfo() const {
    // If producer has not hung up, copy most buffer info from the producer.
    // If producer has not hung up, copy most buffer info from the producer.
    info = producer->GetBufferInfo();
    info = producer->GetBufferInfo();
  } else {
  } else {
    info.signaled_mask = consumer_state_bit();
    info.signaled_mask = client_state_mask();
  }
  }
  info.id = buffer_id();
  info.id = buffer_id();
  return info;
  return info;
@@ -100,7 +100,7 @@ Status<BufferDescription<BorrowedHandle>> ConsumerChannel::OnGetBuffer(
  ATRACE_NAME("ConsumerChannel::OnGetBuffer");
  ATRACE_NAME("ConsumerChannel::OnGetBuffer");
  ALOGD_IF(TRACE, "ConsumerChannel::OnGetBuffer: buffer=%d", buffer_id());
  ALOGD_IF(TRACE, "ConsumerChannel::OnGetBuffer: buffer=%d", buffer_id());
  if (auto producer = GetProducer()) {
  if (auto producer = GetProducer()) {
    return {producer->GetBuffer(consumer_state_bit_)};
    return {producer->GetBuffer(client_state_mask_)};
  } else {
  } else {
    return ErrorStatus(EPIPE);
    return ErrorStatus(EPIPE);
  }
  }
Loading