#define  RGB_FLIP_TO_BGR                               (1 << 2)
 
 #define  BXT_PIPE_SELECT_MASK                          (7 << 7)
-#define  BXT_PIPE_SELECT_C                             (2 << 7)
-#define  BXT_PIPE_SELECT_B                             (1 << 7)
-#define  BXT_PIPE_SELECT_A                             (0 << 7)
+#define  BXT_PIPE_SELECT(pipe)                         ((pipe) << 7)
 
 #define _MIPIA_DATA_ADDRESS            (dev_priv->mipi_mmio_base + 0xb108)
 #define _MIPIC_DATA_ADDRESS            (dev_priv->mipi_mmio_base + 0xb908)
 
                        I915_WRITE(MIPI_CTRL(port), tmp |
                                        READ_REQUEST_PRIORITY_HIGH);
                } else if (IS_BROXTON(dev)) {
-                       /*
-                        * FIXME:
-                        * BXT can connect any PIPE to any MIPI port.
-                        * Select the pipe based on the MIPI port read from
-                        * VBT for now. Pick PIPE A for MIPI port A and C
-                        * for port C.
-                        */
+                       enum pipe pipe = intel_crtc->pipe;
+
                        tmp = I915_READ(MIPI_CTRL(port));
                        tmp &= ~BXT_PIPE_SELECT_MASK;
 
-                       if (port == PORT_A)
-                               tmp |= BXT_PIPE_SELECT_A;
-                       else if (port == PORT_C)
-                               tmp |= BXT_PIPE_SELECT_C;
-
+                       tmp |= BXT_PIPE_SELECT(pipe);
                        I915_WRITE(MIPI_CTRL(port), tmp);
                }