Step 1: Place the salmon steaks in a large bowl or nonreactive baking dish.
Step 2: Make the garlic water. Place the garlic, ginger, and water in a blender and blend just to mix. Strain the garlic water over the fish. Marinate, covered, in the refrigerator for 15 minutes. Drain the fish, discarding the liquid.
Step 3: Make the marinade. Place the garlic, ginger, onion, salt, pepper, ajwain (or caraway seed), turmeric, and cumin in food processor and grind to a smooth paste. Add the 1 cup yogurt and egg and chickpea flour, if using, and process to a smooth paste, running the machine in short bursts. If omitting the egg and chickpea flour, add the additional 1 cup yogurt and run the processor just to mix. The mixture should be thick but pourable: you may need to add a couple tablespoons of water. Pour the marinade over the fish steaks, turning them to coat evenly. Use a spatula to coat the steaks thoroughly on both sides. Marinate, covered, in the refrigerator for 3 to 4 hours.
Step 4: Remove the steaks from the marinade. If you own a tandoor, thread the steaks on a tandoor skewer (they have hooks on the end for hanging cooked food on a rack to cool); impale a whole onion on the end to keep the steaks from slipping off the end into the embers. Plunge the skewer into the tandoor, resting the skewer end on the bottom of the tandoor. The cooking time will be short, 5 to 8 minutes. Turn once as needed.
Step 5: Alternatively, set up your grill for grateless grilling by arranging bricks or other fireproof supports opposite each other on the grill grate; the idea is to suspend skewers between them. Preheat the grill to high. Thread the fish steaks onto flat metal skewers, two to a skewer, and suspend between the two supports. Grill for 3 to 5 minutes per side, or until cooked through and golden brown. Let rest for a couple of minutes before carefully removing from the skewers. Serve immediately.