diff --git a/drivers/gpu/drm/evdi/evdi_connector.c b/drivers/gpu/drm/evdi/evdi_connector.c
index 0a3a271..a4b391e 100644
--- a/drivers/gpu/drm/evdi/evdi_connector.c
+++ b/drivers/gpu/drm/evdi/evdi_connector.c
@@ -49,12 +49,14 @@
 			   struct drm_display_mode *mode)
 {
 	struct evdi_device *evdi = connector->dev->dev_private;
-	uint32_t mode_area = mode->hdisplay * mode->vdisplay;
+	uint32_t area_limit = mode->hdisplay * mode->vdisplay;
+	uint32_t mode_limit = area_limit * drm_mode_vrefresh(mode);
 
-	if (evdi->sku_area_limit == 0)
+	if (evdi->pixel_per_second_limit == 0)
 		return MODE_OK;
 
-	if (mode_area > evdi->sku_area_limit) {
+	if (area_limit > evdi->pixel_area_limit ||
+	    mode_limit > evdi->pixel_per_second_limit) {
 		EVDI_WARN("(dev=%d) Mode %dx%d@%d rejected\n",
 			evdi->dev_index,
 			mode->hdisplay,
diff --git a/drivers/gpu/drm/evdi/evdi_drv.h b/drivers/gpu/drm/evdi/evdi_drv.h
index 436497a..edd9896 100644
--- a/drivers/gpu/drm/evdi/evdi_drv.h
+++ b/drivers/gpu/drm/evdi/evdi_drv.h
@@ -41,7 +41,8 @@
 	struct evdi_cursor *cursor;
 	bool cursor_events_enabled;
 
-	uint32_t sku_area_limit;
+	uint32_t pixel_area_limit;
+	uint32_t pixel_per_second_limit;
 
 	struct evdi_fbdev *fbdev;
 	struct evdi_painter *painter;
@@ -167,4 +168,3 @@
 				struct i2c_msg *msg);
 int evdi_fb_get_bpp(uint32_t format);
 #endif
-
diff --git a/drivers/gpu/drm/evdi/evdi_ioc32.c b/drivers/gpu/drm/evdi/evdi_ioc32.c
index 8b97f65..d16b4cc 100644
--- a/drivers/gpu/drm/evdi/evdi_ioc32.c
+++ b/drivers/gpu/drm/evdi/evdi_ioc32.c
@@ -31,7 +31,8 @@
 	int32_t dev_index;
 	uint32_t edid_ptr32;
 	uint32_t edid_length;
-	uint32_t sku_area_limit;
+	uint32_t pixel_area_limit;
+	uint32_t pixel_per_second_limit;
 };
 
 struct drm_evdi_grabpix32 {
@@ -61,7 +62,8 @@
 	    || __put_user((void __user *)(unsigned long)req32.edid_ptr32,
 			  &request->edid)
 	    || __put_user(req32.edid_length, &request->edid_length)
-	    || __put_user(req32.sku_area_limit, &request->sku_area_limit))
+	    || __put_user(req32.pixel_area_limit, &request->pixel_area_limit)
+	    || __put_user(req32.pixel_per_second_limit, &request->pixel_per_second_limit))
 		return -EFAULT;
 
 	return drm_ioctl(file, DRM_IOCTL_EVDI_CONNECT,
diff --git a/drivers/gpu/drm/evdi/evdi_painter.c b/drivers/gpu/drm/evdi/evdi_painter.c
index f9aafe1..01e8ac8 100644
--- a/drivers/gpu/drm/evdi/evdi_painter.c
+++ b/drivers/gpu/drm/evdi/evdi_painter.c
@@ -720,7 +720,8 @@
 static int
 evdi_painter_connect(struct evdi_device *evdi,
 		     void const __user *edid_data, unsigned int edid_length,
-		     uint32_t sku_area_limit,
+		     uint32_t pixel_area_limit,
+		     uint32_t pixel_per_second_limit,
 		     struct drm_file *file, int dev_index)
 {
 	struct evdi_painter *painter = evdi->painter;
@@ -769,7 +770,8 @@
 	painter_lock(painter);
 
 	evdi->dev_index = dev_index;
-	evdi->sku_area_limit = sku_area_limit;
+	evdi->pixel_area_limit = pixel_area_limit;
+	evdi->pixel_per_second_limit = pixel_per_second_limit;
 	painter->drm_filp = file;
 	kfree(painter->edid);
 	painter->edid_length = edid_length;
@@ -864,7 +866,8 @@
 			ret = evdi_painter_connect(evdi,
 					     cmd->edid,
 					     cmd->edid_length,
-					     cmd->sku_area_limit,
+					     cmd->pixel_area_limit,
+					     cmd->pixel_per_second_limit,
 					     file,
 					     cmd->dev_index);
 		else
diff --git a/include/uapi/drm/evdi_drm.h b/include/uapi/drm/evdi_drm.h
index c43e5fb..37345f9 100644
--- a/include/uapi/drm/evdi_drm.h
+++ b/include/uapi/drm/evdi_drm.h
@@ -46,7 +46,8 @@
 	int32_t dev_index;
 	const unsigned char * __user edid;
 	uint32_t edid_length;
-	uint32_t sku_area_limit;
+	uint32_t pixel_area_limit;
+	uint32_t pixel_per_second_limit;
 };
 
 struct drm_evdi_request_update {
@@ -128,4 +129,3 @@
 	DRM_EVDI_ENABLE_CURSOR_EVENTS, struct drm_evdi_enable_cursor_events)
 
 #endif /* __EVDI_UAPI_DRM_H__ */
-
