Index: modules/contrib/inline_entity_form/src/Plugin/Field/FieldWidget/InlineEntityFormBase.php
IDEA additional info:
Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP
<+>UTF-8
===================================================================
--- modules/contrib/inline_entity_form/src/Plugin/Field/FieldWidget/InlineEntityFormBase.php	(date 1447668222000)
+++ modules/contrib/inline_entity_form/src/Plugin/Field/FieldWidget/InlineEntityFormBase.php	(revision )
@@ -7,6 +7,7 @@
 
 namespace Drupal\inline_entity_form\Plugin\Field\FieldWidget;
 
+use Drupal\Core\Entity\Display\EntityFormDisplayInterface;
 use Drupal\Core\Entity\EntityInterface;
 use Drupal\Core\Entity\EntityManagerInterface;
 use Drupal\Core\Field\FieldDefinitionInterface;
@@ -152,6 +153,7 @@
       'override_labels' => FALSE,
       'label_singular' => '',
       'label_plural' => '',
+      'display_mode' => NULL,
     ];
   }
 
@@ -187,6 +189,18 @@
       ),
     );
 
+    /** @var EntityFormDisplayInterface[] $entity_form_displays */
+    $entity_form_displays = $this->getDisplayModes();
+
+    $element['display_mode'] = array(
+      '#type' => 'select',
+      '#title' => t('Display Mode'),
+      '#default_value' => $this->getSetting('display_mode') ? $this->getSetting('display_mode') : key($entity_form_displays),
+      '#options' => array_map(function(EntityFormDisplayInterface $item) {
+        return $item->getMode();
+      },$entity_form_displays)
+    );
+
     return $element;
   }
 
@@ -208,7 +222,30 @@
     return $summary;
   }
 
+
   /**
+   * All the entity display modes supported by the target entity.
+   *
+   * @return \Drupal\Core\Entity\EntityDisplayModeInterface[]
+   */
+  private function getDisplayModes() {
+    return \Drupal::entityManager()
+      ->getStorage('entity_form_display')
+      ->loadByProperties(['targetEntityType' => $this->iefHandler->entityTypeId()]);
+  }
+
+  /**
+   * The entity display mode selected for the target entity.
+   *
+   * @return \Drupal\Core\Entity\EntityDisplayModeInterface
+   */
+  protected function getDisplayMode() {
+    $display_mode_name = $this->getSetting('display_mode');
+    $display_modes = $this->getDisplayModes();
+    return isset($display_modes[$display_mode_name]) ? $display_modes[$display_mode_name] : current($display_modes);
+  }
+
+  /**
    * Returns an array of entity type labels to be included in the UI text.
    *
    * @return array
@@ -290,6 +327,8 @@
       // access to those in static callbacks (#process, ...) so let's add
       // them here.
       '#ief_labels' => $this->labels(),
+      // Pass the display mode to the entity form handler
+      '#ief_display_mode' => $this->getDisplayMode(),
       // Identifies the IEF widget to which the form belongs.
       '#ief_id' => $this->getIefId(),
       // Add the pre_render callback that powers the #fieldset form element key,
Index: modules/contrib/inline_entity_form/src/InlineEntityForm/EntityInlineEntityFormHandler.php
IDEA additional info:
Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP
<+>UTF-8
===================================================================
--- modules/contrib/inline_entity_form/src/InlineEntityForm/EntityInlineEntityFormHandler.php	(date 1447668222000)
+++ modules/contrib/inline_entity_form/src/InlineEntityForm/EntityInlineEntityFormHandler.php	(revision )
@@ -7,9 +7,11 @@
 namespace Drupal\inline_entity_form\InlineEntityForm;
 
 use Drupal\Core\Entity\ContentEntityInterface;
+use Drupal\Core\Entity\Display\EntityFormDisplayInterface;
 use Drupal\Core\Entity\EntityFormInterface;
 use Drupal\Core\Entity\EntityInterface;
 use Drupal\Core\Entity\EntityTypeInterface;
+use Drupal\Core\Entity\FieldableEntityInterface;
 use Drupal\Core\Extension\ModuleHandlerInterface;
 use Drupal\Core\Field\WidgetBase;
 use Drupal\Core\Form\FormState;
@@ -144,7 +146,7 @@
     $controller->setEntity($entity_form['#entity']);
     $child_form_state = $this->buildChildFormState($controller, $form_state, $entity_form['#entity'], $operation);
 
-    $entity_form = $controller->buildForm($entity_form, $child_form_state);
+    $entity_form['#ief_display_mode']->buildForm($entity_form['#entity'], $entity_form, $child_form_state);
 
     if (!$entity_form['#display_actions']) {
       unset($entity_form['actions']);
