diff --git a/DrmHwcTwo.cpp b/DrmHwcTwo.cpp
index 4cf7a26..8b2abfd 100644
--- a/DrmHwcTwo.cpp
+++ b/DrmHwcTwo.cpp
@@ -1149,9 +1149,9 @@
   layer->sf_handle = buffer_;
   layer->acquire_fence = acquire_fence_.Release();
   layer->release_fence = std::move(release_fence);
-  layer->SetDisplayFrame(display_frame_);
+  layer->display_frame = display_frame_;
   layer->alpha = lround(65535.0F * alpha_);
-  layer->SetSourceCrop(source_crop_);
+  layer->source_crop = source_crop_;
   layer->SetTransform(static_cast<int32_t>(transform_));
   layer->dataspace = dataspace_;
 }
diff --git a/include/drmhwcomposer.h b/include/drmhwcomposer.h
index 1007144..a04cc29 100644
--- a/include/drmhwcomposer.h
+++ b/include/drmhwcomposer.h
@@ -145,8 +145,6 @@
   int InitFromDrmHwcLayer(DrmHwcLayer *layer, Importer *importer);
 
   void SetTransform(int32_t sf_transform);
-  void SetSourceCrop(hwc_frect_t const &crop);
-  void SetDisplayFrame(hwc_rect_t const &frame);
 
   buffer_handle_t get_usable_handle() const {
     return handle.get() != NULL ? handle.get() : sf_handle;
diff --git a/utils/hwcutils.cpp b/utils/hwcutils.cpp
index 35c9fb6..81097ce 100644
--- a/utils/hwcutils.cpp
+++ b/utils/hwcutils.cpp
@@ -134,14 +134,6 @@
   return ImportBuffer(importer);
 }
 
-void DrmHwcLayer::SetSourceCrop(hwc_frect_t const &crop) {
-  source_crop = crop;
-}
-
-void DrmHwcLayer::SetDisplayFrame(hwc_rect_t const &frame) {
-  display_frame = frame;
-}
-
 void DrmHwcLayer::SetTransform(int32_t sf_transform) {
   transform = 0;
   // 270* and 180* cannot be combined with flips. More specifically, they
