* @wpf: The WPF partition window configuration
  */
 struct vsp1_partition {
-       struct vsp1_partition_window rpf;
+       struct vsp1_partition_window rpf[VSP1_MAX_RPF];
        struct vsp1_partition_window uds_sink;
        struct vsp1_partition_window uds_source;
        struct vsp1_partition_window sru;
 
         * 'width' need to be adjusted.
         */
        if (pipe->partitions > 1) {
-               crop.width = pipe->partition->rpf.width;
-               crop.left += pipe->partition->rpf.left;
+               crop.width = pipe->partition->rpf[rpf->entity.index].width;
+               crop.left += pipe->partition->rpf[rpf->entity.index].left;
        }
 
        if (pipe->interlaced) {
                          unsigned int partition_idx,
                          struct vsp1_partition_window *window)
 {
-       partition->rpf = *window;
+       struct vsp1_rwpf *rpf = to_rwpf(&entity->subdev);
+
+       partition->rpf[rpf->entity.index] = *window;
 }
 
 static const struct vsp1_entity_operations rpf_entity_ops = {